bevor euch der Code vollkommen verwirrt, erstmal kurz mein Anliegen. Ich möchte gerne ein Script für einen Browser(uzbl) schreiben. Dazu will ich die Events abfangen und mich daher mit einem Socket einklinken.
Ich kann dem Browser auch per --conect-socket ein Socket zuweisen soweit so gut. Aber nun möchte ich ja erstmal selber ein Socket in Python erzeugen und alles was kommt in die stdout schreiben um zu sehen was da kommt.
Ich hatte ein wenig durchs Netz geguckt und ein paar Tutorials und Beispiele zu einem ersten Versuch zusammen geworfen
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
import socket
import os
socket_addr = "/tmp/uzbl_socket_noscript"
def main():
if os.path.exists(socket_addr):
os.remove(socket_addr)
server= socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
server.bind(socket_addr)
#client.connect("socket_addr")
while True:
answer = server.recv(4096)
if not answer:
break
else:
print answer
server.close()
del server
Code: Alles auswählen
File "noscript.py", line 27, in <module>
main()
File "noscript.py", line 16, in main
answer = server.recv(1)
socket.error: [Errno 22] Invalid argument
Das Problem ist, dass sich viele Tutorials auf Inet Sockets beziehen das verwirrt etwas.