如何挑选端口号码?

如何挑选端口号码?

问题描述:

我想开发一个iPhone p2p应用程序。如何挑选端口号码?

我打算使用一个集中的服务器,用户将更新他们的IP地址到服务器。我想在用户之间建立连接,而不管网络用户属于哪个网络。

我打算使用固定的端口号,有人指出,如果用户通过Wi-Fi连接,路由器可能会阻塞我手动设置的端口号。

我该如何解决这个问题?

+0

使用端口80,其网络流量因此没有人阻止它。 (很少)端口21是用于ftp的,并且通常很安全。 – William 2011-07-12 18:05:20

您无法解决此问题。 “路由器”的管理员可以*阻止任意的端口号。

+0

感谢您的回答。在这种情况下,您会推荐什么来选择端口号? – codereviewanskquestions 2011-05-05 00:54:18

+0

@LCYSoft:1024以上的任何数字都可以。下面的这些是为特定服务保留的:WWW 80,SMTP 25等等。如果您的用户不需要自己输入端口号,请彬彬有礼,并使用一些不包含明显模式的高值,如48732。 – Philip 2011-05-05 00:57:08

您可能会研究NAT traversal策略,如UDP hole punching,这是当端点可能没有可路由IP地址(例如,如果它们位于NAT路由器之后)时支持p2p通信的一种方法。不过,Philip在他的回答中提出了一个很好的观点:可以配置路由器和防火墙来拒绝P2P流量,因此为了获得最大的灵活性,您可能希望能够回退到客户端 - 服务器模式(使用服务器作为中介)。