2011-08-25 74 views
3

如果你要在android上實現一個持久的tcp連接,你會選擇哪個端口號?Android端口號選擇上的持續TCP連接?

這是谷歌的C2DM服務所使用的那種連接。

+0

你想知道你的服務器上的守護進程應該使用哪個端口?我理解正確嗎? – Julian

+0

是的,對於服務器,因爲客戶端啓動連接。 – Erdal

+0

這是非常有趣和清除它多一點:https://labs.ericsson.com/apis/network-probe/ – Erdal

回答

1

真的使用任何端口。它可能並不重要,只要它超過1024.假設你選擇端口5000.

我建議使用第二個IP地址,並將ip2:80上的所有流量轉發到ip1:5000。這樣你可以避開網絡上的任何防火牆限制。

如果您想了解添加第二個IP地址,並添加NAT到你的iptables對IP2從80端口流量轉發到端口5000上IP1,我可以與大家分享我的筆記的更多細節。

+0

所以你建議客戶端應用程序連接到端口80? – Erdal

+0

是的,只要你有兩個IP地址,這是沒問題的。在我的手機網絡上,只有端口80和443是開放的 - 這是我如何解決這個問題。 – Eamorr

+0

在運營商決定殺死它之前,連接還會持續多久?我的意思是我應該多久發一次活下去? – Erdal

0

1764怎麼樣? (42 * 42)。或者可能是3141?

+0

但爲什麼不是3142? – Erdal

+0

這取決於你是否要舍入或截斷;) – JesusFreke

0

技術上講,它其實並不重要,你選擇哪個端口。如果您還想運行此服務,則只能使用其他服務所需的端口。所以如果你想在郵件服務器上運行它,端口25是一個不錯的選擇。

但由於存在這樣的可能過濾流量的地方有時防火牆,我建議443端口(HTTPS),你必須通過讓你的流量略高機會。

+0

我敢肯定,你將無法綁定到低端口 – JesusFreke

+0

@JesusFreke好吧,那麼請告訴我,服務器如何HTTP的工作。當然,你可以... – Julian

+0

我想保持這個連接活着,沒有發送任何流量的時間,根據需要。我不確定您是否意識到運營商會在一段時間後移除他們認爲已過時的連接。我想知道他們是否更積極地使用端口443進行連接...... – Erdal