- 编译代码如下
import socket target_host = "127.0.0.1" target_port = 8099 client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # No status protocol, not need to connected client.sendto("AABBCC".encode(), (target_host, target_port)) data, addr = client.recvfrom(4096) print(data)
- 出现错误如下:
C:Python36python.exe G:/PythonProjects/Tacker/part1/UDP_Client.py
Traceback (most recent call last):
File "G:/PythonProjects/Tacker/part1/UDP_Client.py", line 10, in <module>
data, addr = client.recvfrom(4096)
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。Process finished with exit code 1
- 两个问题:
- 一个如上:猜测是没有开启端口监听所致,尝试了nc,但是win10下的一个无法解析nc命令,另一个下的nc打开后又秒关,尝试了子系统ubuntu后貌似工作,但不回显。。
- 第二个问题就是为什么会出现 远程主机强迫关闭了一个现有连接这种中文报错,不应该是remote host forced closed an occoured connection 这种英文式的报错么? 中文报错查起来很不舒服,哪位大佬知道怎么修改么?
我并不是很明白你意思,你的socket用法我很费解。给你提供一个服务端和客户端的demo吧。
server.py
client.py
先运行server.py监听本地8002端口,再运行client.py发送信息。服务端对接收到的信息怎么处理,你可以自己修改。