以下是该方案:
客户端#1向服务器发送了一些信息(使用HTTP请求)
服务器保留该信息并等待客户端#2也放置他的信息。客户端#1和客户端#2呼叫之间的时间可以从几秒钟到几个小时。
当客户端#2将其信息发送到服务器时,服务器通过HTTP请求将客户端#1信息返回给客户端#2。
然后,服务器需要将客户端#2信息返回给客户端#1。
如果客户端#1无法直接到达(NAT,防火墙)并且两次呼叫之间的时间可能很长,我怎样才能将客户端#2信息返回给客户端#1?
我想避免客户端#1定期戳服务器...客户端没有使用Web浏览器连接到服务器,而是使用我们完全控制的自定义应用程序
答案 0 :(得分:2)
如果客户端在步骤1和4之间随时关闭其连接,客户端将不得不定期戳服务器。否则,让客户端保持其初始连接打开,等待server-side push数据,即使它需要数小时,然后在数据到达时关闭连接。