如何使套接字服务器侦听本地文件

stu*_*boy 11 python sockets

就像MySQL服务器/tmp/mysql.sock和客户端通过套接字写入此文件或任何建议在没有memcached或没有多线程或多进程的情况下在没有或NoSQL服务器的独立进程(一次更新,一次读取)之间共享内容.

Irf*_*rfy 22

# 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))
Run Code Online (Sandbox Code Playgroud)

Python邮件列表中无耻地复制粘贴.

  • @Har yes - 它依赖于Windows不支持的Unix套接字文件(boo,Windows) (4认同)