繁体   English   中英

Python 套接字通过以太网电缆连接提供 [WinError 10057]

[英]Python socket gives [WinError 10057] with Ethernet cable connection

我试图模拟一个连续(至少 24 小时)交换数据的网络,因此我通过以太网电缆连接了两台笔记本电脑(操作系统 Windows),并为每个以太网端口提供了一个静态 IP 地址(192.168.0.1 和 192.168.0.2)。 电缆与交换机连接,交换机上有一个端口镜像 Raspi 上的数据,因为我想使用 Wireshark 分析流量并做一些测试。

我在这里找到了模拟服务器和客户端的代码,我正在使用 multiconn-client.py 和 multiconn-server.py。 如果我在 localhost 上测试代码,它确实可以正常工作,但是如果我使用模拟服务器的机器的静态 IP 地址更改主机,则会出现 WinError 10060。我阅读了许多其他类似的主题,但由于我的开发环境很特殊,因此没有解决方案正在为我工​​作。

也许值得一提的是,笔记本电脑也连接了wifi,一开始我认为这是问题所在,但是当我关闭wifi时,我遇到了同样的问题。

编辑:

这是客户端的回溯。

Traceback (most recent call last):

File "<ipython-input-7-1885b422d65a>", line 1, in <module>
    runfile('C:.../MultiConnectionClient.py', wdir='C.../pyscript')

  File "C:...Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
    execfile(filename, namespace)

  File "C:...Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:.../MultiConnectionClient.py", line 68, in <module>
    service_connection(key, mask)

  File "C:.../MultiConnectionClient.py", line 49, in service_connection
    sent = sock.sendall(data.outb)  # Send message

OSError: [WinError 10057] Eine Anforderung zum Senden oder Empfangen von Daten wurde verhindert, da der Socket nicht verbunden ist und (beim Senden über einen Datagrammsocket mit einem sendto-Aufruf) keine Adresse angegeben wurde

关于服务器,我尝试使用 TCPView 进行一些调试,尽管服务器似乎已启动并且代码已执行,但我在 TCPView 上没有发现它的踪迹。

问题是我的 Windows Defender 防火墙。 我不得不为“访客或公共网络”禁用它我想不知何故以太网电缆连接被归类为公共网络。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM