未收到 Internet 上的 Python 套接字

标签 python sockets server udp client

我的问题是我的 server.py 没有通过互联网从 client.py 接收数据。

客户端.py:

import socket
import time
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

UDP_IP = "myip"
UDP_PORT = 5001

count = 0
start = int(round(time.time() * 1000))

finish2 = 0
start2 = 0
while count < 1000:
    msg = str(count)
    count+=1
    sock.sendto(msg.encode("utf-8"), (UDP_IP, UDP_PORT))
    data = sock.recv(3000)
    if(data.decode("utf-8") == "1"):
        start2 = int(round(time.time() * 1000))
    elif(data.decode("utf-8") == "14999"):
        finish2 = int(round(time.time() * 1000))
    print(data)
    print(finish2 - start2)

finish = int(round(time.time() * 1000))
print(finish - start)
i = input("")

和 Server.py
import socket
import time

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

UDP_IP = "192.168.1.68"
UDP_PORT = 5001
BUFFER_SIZE = 1024

sock.bind((UDP_IP, UDP_PORT))
start = 0
finish = 0
while True:
    data, addr = sock.recvfrom(BUFFER_SIZE)
    if(data.decode("utf-8") == "1"):
        start = int(round(time.time() * 1000))
    elif(data.decode("utf-8") == "14999"):
        finish = int(round(time.time() * 1000))
        print (finish-start)
    print (data, addr)
    sock.sendto(data, addr)

i = input("")

我的 rooter 使用外部和内部端口 = 5001 打开。
我不明白我忘记了什么。
PS:有一个定时器,它只是看它需要多少时间通过互联网使用UDP发送和接收15000个数据。

谢谢

最佳答案

尝试使用更简单的代码来建立连接。

简单 echo具有硬编码值、单次发送、单次接收的服务器。在服务器端打印 addr来自 recvfrom .

在服务器端验证套接字是否正确绑定(bind) netstat -pnlt | grep 5001并验证防火墙是否允许您进入 iptables -L INPUT | grep 5001 , 在客户端验证端口是否可访问 nmap -sU -p 5001 <server address> .这些命令适用于 linux,如果您的服务器/客户端在 Windows 上运行,谷歌是您的 friend

-1 对于过于复杂的示例,您有网络问题,而不是“如何进行 udp speedtest”问题。

关于未收到 Internet 上的 Python 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49726643/

相关文章:

python - Pandas Apply 函数无法始终如一地工作(Python 3)

c++ - Socket库是否在C++中使用异常?

c# - 为什么我的 C# 服务中会出现此 SocketException?

java - Bukkit 插件无法在服务器上运行

server - 分析 Java 8 Release 144 中的堆使用情况 - 功能已删除?那么如何分析堆呢?

python - django-orm : How to update one-to-one relation field value

python - VS 代码 Jupyter 扩展 : Remote notebook not starting

python - 使用 GPT API 创建多消息对话

c - 使用 BSD 套接字模拟事件的 FTP 连接

java - 如何在AsyncTask中启动客户端并连接到服务器?