zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    Java中的数据类型
    SSE2 Intrinsics各函数介绍[转]
    mac terminal的使用技巧
    vi打开二进制文件
    svn
    fitness
    <正见>摘抄
    管理自己
    [C++程序设计]基于对象的程序设计 基于对象的程序设计
    [C++程序设计]引用
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/6155238.html
Copyright © 2011-2022 走看看