2012-06-15 92 views
4

我需要將我的套接字綁定到特定的本地IP,然後才能作爲客戶端連接。沒有端口的Python套接字綁定

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind(("192.168.1.2", 33333)) 
s.connect(("google.com", 80)) 
s.send("test") 

問題是:我知道如何綁定到特定的本地ip,但我不知道要在端口中指定什麼。我不能使用靜態隨機端口,因爲它們已經可以使用了。我可以在綁定中只指定IP,系統會選擇自由端口進行綁定嗎?例如:

s.bind(("192.168.1.2", -1)) 

回答

8

是的,您應該使用0作爲端口。然後操作系統會爲您選擇端口,就像您未撥打bind時那樣。

相關問題