创新互联Python教程:pythonudp不能接收数据怎么解决?

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教程:pythonudp不能接收数据怎么解决?
网址分享:http://www.csdahua.cn/qtweb/news25/343175.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网