2012-02-20 5 views

Respuesta

20
# Echo server program 
import socket,os 

s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) 
try: 
    os.remove("/tmp/socketname") 
except OSError: 
    pass 
s.bind("/tmp/socketname") 
s.listen(1) 
conn, addr = s.accept() 
while 1: 
    data = conn.recv(1024) 
    if not data: break 
    conn.send(data) 
conn.close() 


# Echo client program 
import socket 

s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) 
s.connect("/tmp/socketname") 
s.send(b'Hello, world') 
data = s.recv(1024) 
s.close() 
print('Received ' + repr(data)) 

Desvergonzadamente copia-pega de the Python mailing list.

+0

esto no funciona bajo Windows – Har

+4

@Har sí - que se basa en los ficheros socket Unix la que Windows no soporta (Boo, Windows) –

+0

consigo protocolo de tipo incorrecto para el socket: > s = socket.socket (socket.AF_UNIX , socket.SOCK_STREAM) > s.connect ('/ dev/log') error: [Errno 91] Protocolo tipo incorrecto para el socket – dalore

Cuestiones relacionadas