【问题标题】:Which (tcp/udp) ports are best suited to be implemented at the server side of a mobile application?哪些 (tcp/udp) 端口最适合在移动应用程序的服务器端实现?
【发布时间】:2014-08-13 05:01:50
【问题描述】:

由于 ISP 和公司网络(例如,通过 WiFi 连接时)倾向于阻止不同的端口,在开发移动应用的服务器部分时是否有选择特定端口号的最佳做法?

我说的是应用程序连接到的服务器上的侦听端口的选择(udp 或 tcp),而不是移动设备上的开放端口。

到目前为止我发现了什么

  • 网上不同的人提到使用高端口号(例如 50k 以上)是合适的,因为没有分配这些端口号(这对我来说最有意义,除非它们可能被完全阻止)
  • 所以其他人建议使用端口 80(如果可能的话),因为它很少被任何人阻止
  • 其他人再次建议使用 81 或 8080 之类的端口(但这似乎是两全其美,因为 8080 一方面通常用于代理,另一方面经常出于相同原因被阻止)

至于我,我将在端口 80 以外的地方实现一个简单的 websockets 服务器(如果可行的话),但实际上我更感兴趣的是通常选择什么作为最佳实践(也是 UDP)。

谢谢大家!

【问题讨论】:

  • 如果是 HTTP 服务器,则使用端口 80。如果是 HTTPS,则使用 443。除了这两个之外,它似乎没有其他任何东西,所以不清楚你为什么要问。跨度>
  • @EJP:对于 websockets 这很常见,但首先在我的情况下,已经有一个 web 服务器在运行(使用这些端口)所以我的 ws 服务器必须使用不同的东西,其次我在想将来做 udp 连接(这对于一个像样的 3D 应用程序/游戏来说是必要的),这肯定应该有不同的端口。只是一个问题,如果最好拿 51638 之类的东西并交叉手指说它没有被阻塞?我不知道,这就是我问的原因! :-/ 但是谢谢你的回复!

标签: sockets networking tcp port serversocket


【解决方案1】:

使用 80 或 443 而不是其他。对于我使用 8080 的应用程序,但一些 ISP 阻止了该端口。要检查我是否必须在应用程序启动时添加检查连接,如果没有连接,则会向端口 80 中的服务发送消息,这就是为什么我注意到使用 80 或 443 以外的其他端口不好。

【讨论】:

    猜你喜欢
    • 2018-01-13
    • 2011-05-26
    • 2018-12-21
    • 1970-01-01
    • 2017-12-04
    • 2012-01-04
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多