gpt4 book ai didi

python - UDP 连接没有收到来自服务器的任何回复 - Python(也可能是使用 boost 的 c++)

转载 作者:搜寻专家 更新时间:2023-10-31 01:37:32 25 4
gpt4 key购买 nike

我正在尝试与服务器建立连接,并向其发送一些数据..问题是,如果我尝试使用此 MICHAEL SIEGENTHALER | 调试连接TCP/UDP 调试工具这清楚地表明通信没有问题,甚至某种形式的随机输入也会导致数据出来。

但是当我尝试在 python 中编写代码时,使用相同的设置,没有收到任何响应。它在发送消息后停止,我不确定它是否已发送消息,或跳过它?

似乎我的服务器没有收到我发送给它的消息,因此没有回复..但有什么不同呢?

import socket   #for sockets
import sys #for exit

# create dgram udp socket
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
except socket.error:
print ('Failed to create socket')
sys.exit()

host = 'localhost';
port = 5634;

while(1) :
try :
#Set the whole string
s.sendto(("-1-117230").encode('utf-8'),('10.2.140.183', 9008))
print("sent")

# receive data from client (data, addr)
d = s.recvfrom(1024)
reply = d[0]
addr = d[1]

print ('Server reply : ' + reply)

except socket.error as msg:
print ('Error Code : ' + str(msg[0]) + ' Message ' + msg[1])
sys.exit()

enter image description here

与代码有什么不同,调试工具测试它的方式?

我尝试使用 boost 在 C++ 中对其进行编码,但由于我遇到了同样的问题,我继续尝试在 Python 中进行编码,看看这是否更有意义。

---更新--

import socket   #for sockets
import sys #for exit

# create dgram udp socket
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_adress = ('10.2.140.183',5634)
s.bind(server_adress)
except socket.error:
print ('Failed to create socket')
sys.exit()


while(1) :
try :
#Set the whole string
s.sendto(("-1-117230").encode('utf-8'),('10.2.140.183', 9008))
print("sent")

# receive data from client (data, addr)
d = s.recvfrom(1024)
reply = d[0]
addr = d[1]

print ('Server reply : ' + reply)

except socket.error as msg:
print ('Error Code : ' + str(msg[0]) + ' Message ' + msg[1])
sys.exit()

最佳答案

您缺少 binding方法。

这是一种回显服务器:

import socket
import sys

host = ''
port = 8888
buffersize = 1
server_address = (host, port)
socket_UDP = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)

socket_UDP.bind(server_address)

while True:
data, from_address = socket_UDP.recvfrom(buffersize)
if data:
socket_UDP.sendto(bytes("b"*buffersize, "utf-8"), from_address)
socket_UDP.close()

关于python - UDP 连接没有收到来自服务器的任何回复 - Python(也可能是使用 boost 的 c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34017740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com