2013-07-29 61 views
0

我需要發送請求廣播數據包到255.255.255.255端口1000我不知道如何發送0x01作爲第一個字節,隨後的4個字節是一個隨機數。 謝謝大家,提前 進口插座 進口SYS如何使用Python發送特定格式的廣播數據包

def main(message) : 
    my_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
    my_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST,1) 
    my_socket.sendto(message, ('255.255.255.255' ,10000)) 
    my_socket.close() 

if len(sys.argv) < 2 : 
    sys.exit('wrong args') 
else :  
     main(sys.argv[1]) 

enter image description here

回答

0

從文檔,這裏是發送一個信息插座上的功能:

def mysend(self, msg): 
     totalsent = 0 
     while totalsent < MSGLEN: 
      sent = self.sock.send(msg[totalsent:]) 
      if sent == 0: 
       raise RuntimeError("socket connection broken") 
      totalsent = totalsent + sent 

的在這裏發送代碼幾乎可用於任何消息傳遞方案 - 您在Python中發送字符串

所以你只需要建立字符串前加'0x01'

相關問題