a-树 发表于 2022-3-8 21:18:58

Python socket以一种访问权限不允许的方式做了一个访问套接字的尝试。

用python的Socket建立UDP连接,报错
File "D:\PYvision\TRY\UDP.py", line 38, in <module>
    server.sendto(data_rise, ip_port2)
OSError: 以一种访问权限不允许的方式做了一个访问套接字的尝试。

查阅网上说是端口被占用,但我感觉端口没有被占用,因为我用串口助手的网络监听时端口都没有出现占用情况。
我其中用到了255.255.255.255,有一个帖子说不能用这个IP,如图

真的是这个原因吗?如果是又是为什么呢?

isdkz 发表于 2022-3-8 21:21:41

本帖最后由 isdkz 于 2022-3-8 21:25 编辑

把 192.168.1.255 中的 255 改成别的(1到254的范围),192.168.1.255是一个广播地址

a-树 发表于 2022-3-8 21:38:24

isdkz 发表于 2022-3-8 21:21
把 192.168.1.255 中的 255 改成别的(1到254的范围),192.168.1.255是一个广播地址

图片是参考,我用的是这两个
ip_port = ('192.168.4.2', 4001)
ip_port2= ('255.255.255.255', 5000)

isdkz 发表于 2022-3-8 22:50:40

a-树 发表于 2022-3-8 21:38
图片是参考,我用的是这两个
ip_port = ('192.168.4.2', 4001)
ip_port2= ('255.255.255.255', 5000)

第二个肯定是不能用的

a-树 发表于 2022-3-9 15:10:44

isdkz 发表于 2022-3-8 22:50
第二个肯定是不能用的

为什么啊?我想和下位机通信必须用广播啊

a-树 发表于 2022-3-9 15:41:16

我已经解决了,如果要使用255.255.255.255需要允许使用广播
server.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
加上这句话就成功了
页: [1]
查看完整版本: Python socket以一种访问权限不允许的方式做了一个访问套接字的尝试。