Ich experimentiere mit Unix-Sockets mit Python. Ich möchte einen Server erstellen, der einen Socket erstellt und bindet, auf Befehle wartet und eine Antwort sendet.Lesen und Schreiben von Unix-Socket-Verbindung mit Python
Der Client würde eine Verbindung zum Socket herstellen, einen Befehl senden, die Antwort drucken und die Verbindung schließen.
Dies ist, was ich Server-Seite so mache:
# -*- coding: utf-8 -*-
import socket
import os, os.path
import time
from collections import deque
if os.path.exists("/tmp/socket_test.s"):
os.remove("/tmp/socket_test.s")
server = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
server.bind("/tmp/socket_test.s")
while True:
server.listen(1)
conn, addr = server.accept()
datagram = conn.recv(1024)
if datagram:
tokens = datagram.strip().split()
if tokens[0].lower() == "post":
flist.append(tokens[1])
conn.send(len(tokens) + "")
else if tokens[0].lower() == "get":
conn.send(tokens.popleft())
else:
conn.send("-1")
conn.close()
Aber ich socket.error: [Errno 95] Operation not supported
bekommen, wenn sie hören wollen.
Können Unix-Sockets zuhören? Was wäre sonst der richtige Weg zum Lesen und Schreiben?
Jede Hilfe dankbar :)