python 在bind端口之后创建的socket如果不关闭的话会被回收吗?
在进行tcpsocket编程的时候,遇到一个问题:我创建一个A=socket,在进行bind之后,这个socket为<socket.socketfd=636,family...
在进行tcpsocket编程的时候,遇到一个问题:
我创建一个A=socket,在进行bind之后,这个socket为<socket.socket fd=636, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('0.0.0.0', 3353)>
然后会accpet到一个socket <socket.socket fd=660, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.2.11', 3353), raddr=('192.168.2.53', 52410)>
想问这两个socket是什么关系,我想要关闭与192.168.2.53的socket连接时候,第一个产生的socket需要处理吗。
背景:在A创建第一个socket后,我又使A=socket2,创建了新的socket对象,且这个socket对象accpet到了新的socket;每个socket创建的时候都会起一个线程,去做接收工作
问题:我在关闭第2个socket所接收到的socket,以及它对应的线程之后,socket会短暂的被关闭,但是很快就会创建出新的连接。
如果我关闭第1个socket所接收到的socket,以及它对应的线程之后,第一个socket不会创建新的连接
如果先关闭第2个socket所接收到的socket,以及它对应的线程之后,立马断第1个socket,以及它对应的线程,则第2个socket会在断第1个socket之前建立起一个socket,但是一旦第1个socket断后,两个socket都不会创建新连接 展开
我创建一个A=socket,在进行bind之后,这个socket为<socket.socket fd=636, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('0.0.0.0', 3353)>
然后会accpet到一个socket <socket.socket fd=660, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.2.11', 3353), raddr=('192.168.2.53', 52410)>
想问这两个socket是什么关系,我想要关闭与192.168.2.53的socket连接时候,第一个产生的socket需要处理吗。
背景:在A创建第一个socket后,我又使A=socket2,创建了新的socket对象,且这个socket对象accpet到了新的socket;每个socket创建的时候都会起一个线程,去做接收工作
问题:我在关闭第2个socket所接收到的socket,以及它对应的线程之后,socket会短暂的被关闭,但是很快就会创建出新的连接。
如果我关闭第1个socket所接收到的socket,以及它对应的线程之后,第一个socket不会创建新的连接
如果先关闭第2个socket所接收到的socket,以及它对应的线程之后,立马断第1个socket,以及它对应的线程,则第2个socket会在断第1个socket之前建立起一个socket,但是一旦第1个socket断后,两个socket都不会创建新连接 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询