将数据发送到NAT和防火墙后面的非浏览器客户端的最佳方式?

时间:2014-09-12 00:06:06

标签: http tcp stream push nat

以下是该方案:

  1. 客户端#1向服务器发送了一些信息(使用HTTP请求)

  2. 服务器保留该信息并等待客户端#2也放置他的信息。客户端#1和客户端#2呼叫之间的时间可以从几秒钟到几个小时。

  3. 当客户端#2将其信息发送到服务器时,服务器通过HTTP请求将客户端#1信息返回给客户端#2。

  4. 然后,服务器需要将客户端#2信息返回给客户端#1。

  5. 如果客户端#1无法直接到达(NAT,防火墙)并且两次呼叫之间的时间可能很长,我怎样才能将客户端#2信息返回给客户端#1?

    我想避免客户端#1定期戳服务器...客户端没有使用Web浏览器连接到服务器,而是使用我们完全控制的自定义应用程序

1 个答案:

答案 0 :(得分:2)

如果客户端在步骤1和4之间随时关闭其连接,客户端将不得不定期戳服务器。否则,让客户端保持其初始连接打开,等待server-side push数据,即使它需要数小时,然后在数据到达时关闭连接。