C http服务器编程
我试图将数据从服务器直接推送到客户端的php网页。我在谷歌上搜索了很多次这个问题,我不想使用ajax推送引擎或其他东西,比如Comed(如果你知道我在说什么的话)。我想知道是否有任何方法可以在我的服务器上安装一个程序,将数据发送到所有连接的客户端。我希望这是在C或C++或C语言中完成的,我可以自己编程,如果可能的话,我想。 也许你没有了解HTTP协议是如何工作的。你应该先记录更多关于它的信息。我将尝试解释如何在您的案例中使用它:C http服务器编程,c,http,networking,cometd,C,Http,Networking,Cometd,我试图将数据从服务器直接推送到客户端的php网页。我在谷歌上搜索了很多次这个问题,我不想使用ajax推送引擎或其他东西,比如Comed(如果你知道我在说什么的话)。我想知道是否有任何方法可以在我的服务器上安装一个程序,将数据发送到所有连接的客户端。我希望这是在C或C++或C语言中完成的,我可以自己编程,如果可能的话,我想。 也许你没有了解HTTP协议是如何工作的。你应该先记录更多关于它的信息。我将尝试解释如何在您的案例中使用它: 轮询:每X秒,客户端将请求包含所需内容的网页。这是使用HTTP的
- 轮询:每X秒,客户端将请求包含所需内容的网页。这是使用HTTP的标准方式:客户端发送GET,服务器发送响应
- 推送:每个客户端都会请求一个网页,但服务器实际上会等待您发送消息。您可以使用此http通道“推送”数据:客户机发送GET,服务器等待,直到他有一个要发送的响应
$.get('/wait_for_message', function(data) {
alert('My server send:' + data);
})
您的服务器将收到一个GET/wait\u for\u消息HTTP/1.1
请求。您可以将此套接字保存在“等待某件事情的客户端”列表中,而不是发回数据。然后,当需要时,您可以遍历这个列表,将数据写入所有套接字,tada:所有客户端都将接收数据
现在,要正确使用这种方法并不容易,这就是为什么你可以像其他人所建议的那样使用另一个项目。你可以用任何语言编写/修改一个非常简单的web服务器,以格式化和服务数据库中的数据,甚至忽略实际的请求。您所需要做的就是将头和数据写入套接字。您可以通过根据一些列表主动启动连接来做同样的事情。如果您想使用HTTP进行此操作,那么轮询或comet是您仅有的两个选项。不过,您可以用任何语言实现它们中的任何一种。