Python TCP和UNIX套接字之间有区别吗?

Python TCP和UNIX套接字之间有区别吗?,python,sockets,unix,tcp,Python,Sockets,Unix,Tcp,对于TCP套接字,许多客户端可以连接它并发送数据并关闭。 但对于UNIX套接字,如果客户端关闭套接字,服务器端也将关闭。是吗 但在我看来,TCP也有停止状态 这是我的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) 取自ServerFa

对于TCP套接字,许多客户端可以连接它并发送数据并关闭。 但对于UNIX套接字,如果客户端关闭套接字,服务器端也将关闭。是吗

但在我看来,TCP也有停止状态

这是我的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)
取自ServerFault():

UNIX套接字是一种进程间通信机制,允许在同一台计算机上运行的进程之间进行双向数据交换

IP套接字(特别是TCP/IP套接字)是一种允许进程之间通过网络进行通信的机制。在某些情况下,您可以使用TCP/IP套接字与在同一台计算机上运行的进程进行通信(通过使用环回接口)

UNIX域套接字知道它们在同一系统上执行,因此可以避免一些检查和操作(如路由);这使得它们比IP套接字更快、更轻。因此,如果您计划与同一主机上的进程通信,这是一个比IP套接字更好的选择

UNIX域套接字受文件系统权限的约束,而TCP套接字只能在数据包筛选器级别进行控制

取自ServerFault():

UNIX套接字是一种进程间通信机制,允许在同一台计算机上运行的进程之间进行双向数据交换

IP套接字(特别是TCP/IP套接字)是一种允许进程之间通过网络进行通信的机制。在某些情况下,您可以使用TCP/IP套接字与在同一台计算机上运行的进程进行通信(通过使用环回接口)

UNIX域套接字知道它们在同一系统上执行,因此可以避免一些检查和操作(如路由);这使得它们比IP套接字更快、更轻。因此,如果您计划与同一主机上的进程通信,这是一个比IP套接字更好的选择

UNIX域套接字受文件系统权限的约束,而TCP套接字只能在数据包筛选器级别进行控制


你试着比较不可比较的东西。首先,请阅读有关套接字和的内容。您尝试比较不可编译的内容。首先,阅读有关套接字和的内容。