bat*_*ncn 0 python unix sockets tcp
对于TCP套接字,许多客户端可以连接它并发送数据并关闭。但是对于UNIX套接字,如果客户端关闭套接字,则服务器端也会关闭。是吗?
但我认为TCP也具有STOP状态。
这是我的python UNIX套接字代码:
sock_file = "%s_%d.sock" % (sock_name, port)
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.bind(sock_file)
sock.listen(1)
Run Code Online (Sandbox Code Playgroud)
取自ServerFault(Unix套接字和TCP / IP套接字之间有什么区别):
UNIX套接字是一种进程间通信机制,它允许在同一计算机上运行的进程之间进行双向数据交换。
IP套接字(尤其是TCP / IP套接字)是一种机制,允许通过网络在进程之间进行通信。在某些情况下,您可以使用TCP / IP套接字与同一台计算机上运行的进程通信(通过使用回送接口)。
UNIX域套接字知道它们在同一系统上执行,因此可以避免进行某些检查和操作(例如路由)。这使它们比IP插座更快更轻。因此,如果您打算与同一主机上的进程进行通信,则这是比IP套接字更好的选择。
UNIX域套接字受文件系统许可,而TCP套接字只能在数据包过滤器级别上进行控制。