我是一位经验丰富的C / C ++应用程序程序员,但对Web编程,REST等相对较新。
有一个中央服务器可以监控其他各种客户端计算机。服务器公开了一些API,客户机通过这些API定期发送状态更新。其他东西到服务器。虽然它是始终与服务器联系的客户端,但服务器还通过对POST方法的响应向客户端发送命令。客户端方法对其起作用。
现在,如果服务器本身主动想要向客户端发送一些消息,这是可能的 - 即客户端每小时只连接一次,但在中间服务器需要请求客户端联系它 - 这是可能的吗?所有?
如果没有,是获得一些带外数据的唯一方法 - 即让客户端也运行一个单独的进程侦听单独的端口。任何时候,服务器想要联系客户端,服务器会向该端口上的特定客户端发送一些消息,要求客户端联系服务器?
答案 0 :(得分:0)
根据您的具体情况,有两种方法可以做到这一点。如果您的网络允许从服务器到客户端的连接,则可以在客户端上公开最小的Web服务器或类似RPC的接口,并从服务器连接到该接口。如果这是不可能的,例如因为您的客户端位于防火墙或NAT网关之后,客户端将需要轮询服务器以查看是否有任何命令在等待。