• 技术文章 >常见问题 >Python常见问题

    python udp不能接收数据怎么解决?

    yangyang2020-06-01 10:28:34原创4186

    python3通过udp方式发送的消息可以在网络调试助手接收,但是在网络调试助手上发送的消息在python3上却接收不到。

    首先python3接收写的代码如下:

    import socket
    
    def receive_message():
        udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  #创建一个套接字
        udp_socket.bind(('', 63630))  #绑定本地信息,自己电脑的ip和程序的端口。ip一般不用写,表示本机的任意一个ip,端口大于常用的1023就可以
        while True:
            udp_data = udp_socket.recvfrom(1024) #接收数据,1024表示本次接收的字节数
            if udp_data[0].decode(encoding='gbk') != 'end':
                print('{}:{}'.format(str(udp_data[1]), udp_data[0].decode(encoding='gbk')))
            else:
                break
        udp_socket.close()  #关闭套接字
    
    if __name__ == '__main__':
        receive_message()

    解决方法:

    在Windows防火墙设置中勾选下图中红色箭头指向的选项

    再次运行程序,win10弹出对话框如下:

    更多Python知识请关注Python自学网

    专题推荐:python
    品易云
    上一篇:python web.py乱码怎么解决? 下一篇:python不定长二维数组如何定义?

    相关文章推荐

    • pycharm怎么引Python包?• python怎么判断数字不等?• python实现报表用什么?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网