2010-04-22 60 views
8

我想發送一個特定的UDP廣播數據包..不幸的是我需要發送UDP數據包一個非常具體的端口爲我發送的所有數據包。套接字設置源端口號

假設我通過UDP「BLABLAH」進行廣播,服務器將只響應,如果我的傳入數據包源端口是1444,如果不是數據包被丟棄。

我的廣播插座的設置是這樣的:

s = socket(AF_INET,SOCK_DGRAM) 

s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1) 

我如何能做到這一點(設置源端口)在Python?

謝謝!

回答

14

您需要將bind套接字連接到您要發送的特定端口。 bind方法採用地址元組,很像connect,儘管您可以使用通配符地址。例如:

s.bind(('0.0.0.0', 1444))