2012-02-20 14 views
9

बस MySQL सर्वर के /tmp/mysql.sock की तरह और ग्राहक इस फ़ाइल को सॉकेट या स्वतंत्र प्रक्रिया (एक अपडेट, एक पढ़ा गया) के बीच सामग्री साझा करने के लिए किसी भी सुझाव को memcached या NoSQL सर्वर के बिना मल्टीथ्रेड के बिना लिखते हैं या बहुप्रवाह।सॉकेट सर्वर को स्थानीय फ़ाइल पर कैसे सुनें

उत्तर

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

the Python mailing list से निर्बाध रूप से प्रतिलिपि बनाई गई। -

+0

इस खिड़कियों के तहत काम नहीं करता है – Har

+4

@Har हाँ यह यूनिक्स सॉकेट फ़ाइलों पर निर्भर करता है जो विंडोज का समर्थन नहीं करता (बू, विंडोज) –

+0

मैं सॉकेट के लिए प्रोटोकॉल गलत प्रकार मिलता है: > एस = socket.socket (socket.AF_UNIX , सॉकेट.SOCK_STREAM) > s.connect ('/ dev/log') त्रुटि: [Errno 91] सॉकेट – dalore

संबंधित मुद्दे