python - Python 套接字 [WinError 10038] 尝试对非套接字的操作进行操作
问题描述
这不是重复的。
我已经搜索了几个小时才能找到答案,但没有运气,所以我在这里问。
我目前正在使用 python 的 socket 模块构建一个聊天服务器。当我运行服务器时,在客户端连接并且服务器这么说之后,我收到一个异常:
[WinError 10038] An operation was attempted on something that is not a socket
我已经构建了一个大大减少的服务器,它可以在这个服务器没有的地方工作。这让我很困惑,因为它几乎一行一行地做同样的事情。
简化:
解决方案
让我为你澄清几件事:
- 在服务器端:你创建一个套接字,绑定它,然后监听连接。
- 在客户端:您创建一个套接字,然后尝试连接到服务器。
在您的情况下,服务器端很好,但是,在客户端,您需要删除此行:
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"))
推荐阅读
- angular - 启用/禁用输入字段和基于按钮的链接
- javascript - 更改 API 数据输出的区分大小写
- elasticsearch - 无法在 FreeBSD 11 上的 Kibana 6 中访问 grokdebugger
- drupal - 如何在drupal 7中解除阻止被阻止的IP地址
- swift - 从 HTML 将图像加载到 UITextview/WKWebView
- android - Xamarin 模拟器窗口问题
- scala - 如何在应用级别覆盖日志级别
- spfx - 带有输入框 tabIndex 的 MS Fabric DetailList 始终呈现为 -1
- gnuplot - 来自数据文件的 Gnuplot 3D 条形图
- terraform - 使用 terraform 创建子网的顺序