首页 > 编程语言 > 详细

Python UDP broadcast PermissionError: [Errno 13] Permission denied

时间:2016-12-10 13:29:55      阅读:664      评论:0      收藏:0      [点我收藏+]
/**********************************************************************
 * 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

原文:http://www.cnblogs.com/zengjfgit/p/6155238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!