-1

我们需要在 WAN 和 LAN 上的服务器之间建立持久连接。基本上,多个局域网服务器必须在互联网上注册一个服务器并始终保持开放连接,因为我们不能要求拥有局域网服务器的客户端设置端口转发,并且可能存在防火墙问题。

我在这里有什么选择?我在想,要么是 Websockets,要么是 LAN 上的服务器在 Internet 上长轮询我们的服务器。有更好的解决方案吗?

4

1 回答 1

1

您的选择是 - 考虑到您想避免代理和防火墙的问题 - 可能:

  • 使用 websocket,端口 80 或 443
  • 使用长轮询(如果您需要双向通信,这不是真正持久的!)端口 80 或 443
  • 使用端口 80 将任何数据封装到 http 请求中
  • 使用带有 ssl 加密的端口 443,并在协议级别上做任何你想做的事情。通常,只要您将此端口与 ssl 加密一起使用,即使使用一些奇怪的自定义协议,您也不会遇到任何问题,因为防火墙和代理通常(尝试)在感知到他们认为是 https 时检查您正在做的事情.

就我所了解的情况而言,其他一切都可能超出您的范围,但是您应该能够使用端口 443 和一些用于持久连接的协议来做您需要做的事情(使用 websockets 是可能的,但您会遇到其他问题问题真的很快(比如缺少 ping/pong 实现)然后如果你不自定义构建你的代码,这可能会使首先使用 websockets 毫无意义)

于 2013-05-15T16:52:51.630 回答