首页 > 代码库 > Python UDP broadcast PermissionError: [Errno 13] Permission denied

Python UDP broadcast PermissionError: [Errno 13] Permission denied

/********************************************************************** * Python UDP broadcast PermissionError: [Errno 13] Permission denied * 说明: *     使用Python3做UDP广播,遇到这个权限问题,当时就一阵惊讶,第一看 * 到这种无权限的问题。 * *                                  2016-12-10 深圳 南山平山村 曾剑锋 *********************************************************************/一、参考文档:    Python socket.error: [Errno 13] Permission denied        http://stackoverflow.com/questions/11457676/python-socket-error-errno-13-permission-denied二、错误:    1. 错误现象:        [zengjf@root ~]#  python main.py         fdsaf        Traceback (most recent call last):          File "main.py", line 11, in <module>            s.sendto(zengjf.encode(utf-8), address)          PermissionError: [Errno 13] Permission denied        [zengjf@root ~]#      2. 错误原因:        Set the SO_BROADCAST option, if you actually mean to send to a broadcast address:            s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)    3. 测试代码:        import socket        address = (255.255.255.255, 50000)        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)        s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)        while True:            msg = input()            if not msg:                break            s.sendto(zengjf.encode(utf-8), address)        s.close()

 

Python UDP broadcast PermissionError: [Errno 13] Permission denied