![]() |
1
5
我们的朋友 http://www.infrastructures.org 以拉为基础的机制发誓: http://www.infrastructures.org/papers/bootstrap/bootstrap.html 他们更喜欢客户机拉服务器推送的一个主要原因是客户机可能停机,客户机(通常)必须应用服务器推送的所有操作。如果这个标准在你的案例中不重要,也许他们的结论不是你的结论,但我认为值得你自己阅读他们论文中的“推与拉”部分来决定。 |
![]() |
2
3
我想说,在当今这个时代,你只能认真考虑拉技术。push的问题在于,客户机通常隐藏在网络地址遍历设备(nat)后面,如无线路由器、宽带调制解调器或公司防火墙,而客户机往往无法从服务器访问。 建立出站连接(“phone-home”),特别是在诸如http/https等众所周知的端口上,基本上可以假设为“可能”,即使在大多数受限的网络下也是如此。 |
![]() |
3
2
如果您使用某种消息传递服务器(JMS为Java,不确定C语言),那么您的消息服务器是唯一需要打开端口的服务器,并且可以从代理到消息服务器和从服务器到消息传递服务器双向通信。这将允许您在不需要打开代理服务器上的端口的情况下完成混合模型。 |
![]() |
4
2
imho,我觉得你最好的选择是拉选。它可以满足您的主要系统需求,如下所示: 第一部分:数据需要到达服务器,这显然可以通过调用将数据作为参数发送的Web方法来完成。 第二部分:(服务器定期向代理发送更新):您仍然可以通过客户端(常规)拉取,通过某种Web服务方法“请求”自上次拉取以来的更新(某种S时间戳来获取它错过的更新)。 混合方法在我看来有点奇怪,因为我认为代理是系统的一部分,可能经常“离线”,如果失败服务器会怎么做?这通常是一个困难的问题/决定,特别是如果您不确定这是一个预期的“离线”还是一个系统/网络故障。等 |