Python 套接字 [WinError 10038] 尝试对非套接字的内容执行操作



这不是重复的。

我已经搜索了几个小时才能找到答案,但没有运气,所以我在这里问。

我目前正在使用 python 的套接字模块构建聊天服务器。当我运行服务器时,在客户端连接并且服务器如此说之后,我收到异常:

[WinError 10038] An operation was attempted on something that is not a socket

我已经构建了一个大大减少的服务器,它可以在该服务器无法工作的地方工作。这让我感到困惑,因为它几乎一行一行地做同样的事情。

tcpServer.py

tcpClient.py

简化:

testServer.py

testClient.py

让我为您澄清几件事:

  • 在服务器端:创建一个套接字,绑定它,并侦听连接。
  • 在客户端:创建一个套接字,然后尝试连接到服务器。

在您的情况下,服务器端很好,但是,在客户端,您需要删除此行:

s.bind(("127.0.0.1",port))

您通常会执行以下操作,例如:

ip = '127.0.0.1'
port = 1234
s.connect((ip, port))
s.send("hello".encode("utf-8"))
while True:
s.send(input().encode("utf-8"))

最新更新