2012-07-16 59 views
1

假設我有一臺直接連接到互聯網的服務器和一臺連接到路由器的客戶端。客戶端可以發送消息給服務器,因爲它知道服務器的IP地址和端口。但是,服務器如何將消息發送回客戶端?它可以獲取客戶端的外部IP地址和端口,但應該將消息發送到該端口?以及客戶如何收聽消息,應該聽哪個端口?假定沒有端口轉發。如何使用QUdpSocket連接路由器後面的服務器和客戶端?

回答

0

我認爲難度在於您的客戶端位於NAT防火牆之後。如果是這樣的話,答案很簡單:你不知道。這就是NAT的全部要點。

但是,這也假定您正在討論從服務器到客戶端的新套接字的創建。如果套接字已經存在,您只需通過它進行談話,並且有狀態的NAT路由器會跟蹤所需的信息以便獲取消息。

如果這些都不能回答你的問題,你需要重新制定它。