socket.connect_ex之后的套接字10048响应

时间:2019-06-12 04:49:07

标签: python sockets bind

我有这小段代码,在打印响应后会返回10048

我尝试添加socket.SO_REUSEADDR,这确实对您有所帮助。首次运行该程序后,它显示0。据我所知,该端口已打开,但此后它返回10048。我也尝试过更改端口。

这是我的代码:

import socket 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
host = '127.0.0.1'
port = 1024
s.bind((host,port))
result = s.connect_ex((host,port))
print(result)
s.close()

我不确定为什么会返回这个。我到处都看了,但找不到答案。我正试图让它返回0或1。这就是为什么我能知道端口是打开还是关闭的原因。

1 个答案:

答案 0 :(得分:0)

当主机是本地计算机时,这将不起作用:您尝试将同一计算机上的同一端口用作源和目标。

您必须使用两个不同的端口,或者不同的计算机不能固定源端口并让系统选择一个端口(连接前请勿绑定)。