簡體   English   中英

Python:在Windows上獲取UDP廣播/ socket.recvcmsg()的發送者

[英]Python: Get sender of UDP broadcast / socket.recvcmsg() on Windows

我使用socket.recvmsg()來獲取數據和UDP廣播消息的發送者的IP地址。 這在Linux上可以正常工作,但在Windows(Python 3.3)上不可用。 如何獲取發送者的IP地址?

from socket import *

fd = socket(AF_INET, SOCK_DGRAM)
fd.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
fd.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)

data, _, _, addr = fd.recvmsg(4096) # <- how to achieve this without recvmsg?
host, upd_port =  addr

我在您鏈接的Python文檔中注意到, recvfrom返回與您的代碼正在尋找的值(字節,地址)相似的值,並且與Windows兼容

插座。 recvfrombufsize [, 標志 ])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM