onunix 2024-01-04 21:13 采纳率: 77.8%
浏览 5
已结题

请问这里udp为什么报错 代码好像没有错


import socket;
serversocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM);
serversocket.bind(('127.0.0.1',8000));

while 1:
    data,address = serversocket.recv(1024)
    if not data:break


接收到对端发送的hello时,报如下错:
 

data,address = serversocket.recv(1024)
    ^^^^^^^^^^^^
ValueError: too many values to unpack (expected 2)

请问什么原因呢?

  • 写回答

4条回答 默认 最新

  • CSDN专家-sinJack 2024-01-04 21:33
    关注

    服务器端接收到的数据是一个元组

    
    import socket
    serversocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    serversocket.bind(('127.0.0.1',8000))
    while True:
        data,address = serversocket.recvfrom(1024)
        if not data:
            break
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月8日
  • 已采纳回答 1月31日
  • 修改了问题 1月4日
  • 创建了问题 1月4日