2017-02-16 4 views
1

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 :)

Antwort

Verwandte Themen