標籤:mod question erro ddr address send import input actual
/********************************************************************** * 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. 錯誤現象: [[email protected] ~]# 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 [[email protected] ~]# 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