最近我在python中做了一个socket项目,主要是在公司的网络服务器上部署一个程序,作为内部网络和外部网络通信的桥梁。
架构如下:假设C是我们的服务器,有两个主机A和B:
当客户向A80的8081端口发送请求时,
A将通过socket_msg向B发送消息,要求建立新连接。
当B收到" Establish Required"时,它与A建立新连接(new_conn)。
我使用"选择"在A和B 中,轮换侦听来自客户端的请求。
现在的问题是我使用网页(例如:127.0.0.1:8081)向A发送请求,总共21个请求,但 A总是只能接受6个请求,像那样:
The request condition in chrome
当我在cmd中使用netstat -na | findstr 8081
时,我会收到:
netstat result
我想知道问题是客户端套接字无法正确关闭,但是当我在可读客户端套接字发回所有回复后添加代码s.close()
时,我检查网页请求,它只有一个reuqest!
我不知道我是否清楚地描述了这个问题,但你可以帮助我吗?我正在寻找你们的建议!