正在覆盖前一个缓冲区

2024-05-15 10:52:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个客户机(用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编写)是:

姓名:旅行社布拉格.mp4
尺寸:1936l布拉格.mp4
端口:5008l布拉格.mp4
防护等级:127.0.0.1G.mp4级
防护等级:127.0.0.1G.mp4级

我怎样才能解决这个问题?你知道吗


Tags: ip服务器fnamesockmp4addrstripprint
1条回答
网友
1楼 · 发布于 2024-05-15 10:52:50

最后,我修改了服务器,为发送name、size、ip、port中的每一个字符串创建了一个新的char字符串,并通过UDP发送该字符串,从而解决了问题
谢谢大家!!你知道吗

相关问题 更多 >