【发布时间】:2014-12-28 12:46:51
【问题描述】:
我有一个客户端(用 Python 编写)和一个服务器(用 C 编写)
这是我的 python udp 客户端代码的一部分:
for x in range(noResults):
fName, addr = sock.recvfrom(1000)
print "Name:", fName
resultList[x].name=fName.strip('\x00')
fSize, addr = sock.recvfrom(1000)
print "Size:", fSize
resultList[x].size=fSize.strip('\x00')
fPort, addr = sock.recvfrom(1000)
print "Port:", fPort
resultList[x].port=fPort.strip('\x00')
fIP, addr = sock.recvfrom(1000)
print "IP:", fIP
resultList[x].ip=fIP.strip('\x00')
sys.stdout.flush()
print "IP:",resultList[x].ip
i=i+1
虽然它与服务器通信后产生的输出(用C编写)是:
名称:travel Prague.mp4
尺寸:1936l 布拉格.mp4
端口:5008l 布拉格.mp4
IP:127.0.0.1gue.mp4
IP:127.0.0.1gue.mp4
我该如何解决这个问题?
【问题讨论】:
-
预期输出是什么?您可以发布整个代码(以及服务器的详细信息吗?)
-
@smushi 此循环的预期输出不会像大小、端口、IP 那样覆盖
-
我认为问题在于您的服务器,而不是客户端。如果有疑问,请使用 tcpdump/wireshark 查看传输的流量。
标签: python c string udp null-terminated