使用Linux和Python,我想通过广播发送一些数据:

d = b'109u433279423423423'    

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.sendto(d, 0, ('192.168.0.255', 9))

我在根目录下启动此脚本,并出现以下错误:

s.sendto(d, 0, ('192.168.0.255', 9)) socket.error: [Errno 13]
Permission denied

怎么了?

推荐答案

您正在try 发送到广播地址.这是不允许的,请参阅sendto(2)的手册页:

EACCES(对于UDP套接字)试图发送到网络/广播地址,就像它是单播地址一样.

如果您真的想发送到广播地址,请设置"SO_广播"选项:

s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

Python-3.x相关问答推荐

Python3和请求-超文本标记语言:试图抓取一个网站-没有取回真正的超文本标记语言代码

While循环不停止地等待,直到时间.睡眠结束

根据第一个字典的值序列对第二个字典进行排序

命名空间前缀无效

使用Python按照其组/ID的紧密值的递增顺序映射数据框的两列

python3,将整数转换为字节:对于小整数使用 to_bytes() 有哪些替代方法?

try 使用 GEKKO 求解非线性方程组.系统有多种解决方案,但 GEKKO 给出了错误的解决方案.我该如何解决?

python 分代垃圾收集:get_count 没有报告正确的对象创建数?

按字母顺序排序列表 (OrderFilter),条件是值为 '' 的条目位于列表 DRF 的末尾

我正在使用 python 线程,当查询 mysql 时,代码似乎在运行并保持在无限循环中,没有返回任何错误

根据另一个数据帧中的位置从主数据帧中提取子序列

参数化泛型不能与类或实例判断一起使用

如何从字典中打印特定键值?

str.format_map(mapping) 和 str.format 有什么区别

如何通过命令行将数组传递给python

使用 Sublime Text 3 在 Python 3 中打印 UTF-8

matplotlib - 模块sip没有属性setapi

如何在 QGraphicsView 中启用平移和zoom

在 linux mint 上安装 python3-venv 模块

Python 3中星型导入的函数形式是什么