为什么我的python脚本会这样表现? 我给它指令通过端口7777连接,但它超过了45604。
我没有使用socket.bind((socket.gethostname(),port))
相反,我与socket.bind(("0.0.0.0",port))
一起工作
或socket.bind(("127.0.0.1",port))
所以我在这里工作。为什么我的电脑重新路由端口?
应该没有必要,不应该吗?我可以以某种方式在本地禁用它吗?
答案 0 :(得分:4)
我在没有任何实际代码的情况下回答。所以我必须在这里做出假设:
1)您有服务器(图片右侧)监听端口7777。
2)您正在连接到服务器的同一台计算机(图片左侧)上运行客户端。
因此,客户端(在左侧shell上)连接到服务器(右侧shell窗口)。服务器正在监听7777,客户端从45604连接到服务器(客户端和服务器不能占用同一台机器上的同一端口!)
换句话说,客户端从端口45604“发送”到端口7777 。也许这更有意义?
答案 1 :(得分:2)
TCP连接由4个数字定义:源IP地址,源端口,目标IP地址,目标端口。
连接从127.0.0.1端口45604到127.0.0.1端口7777。
源端口(45604)是系统从各种未使用的端口(称为临时端口)中选择的值,因为您的程序未设置特定的源端口。