1

好的...我对 php 很陌生(我知道这可能是一个愚蠢的问题),但我正在将 C++ 套接字程序连接到 php 网站。目前我可以将字符串发送到网站和一切都很好......除了......它只显示一旦php完成执行发送的东西......

我认为可行的解决方案: 1. 使页面在执行时以某种方式运行 echo 2. 找到一个合适的解决方案,即设置一个 tcp 连接并通过用户会话进行维护(如何??)然后执行一个脚本,该脚本在接收时打印到页面数据

我试过冲洗...没有用

其实想了想……有没有解决方案,即使客户端改变页面,我也可以保持socket tcp连接?那将是有用的......继承人的来源:

服务器(c++): http: //pastebin.com/QfaUrF92

客户端(php): http: //pastebin.com/hZXKsGN0

请注意,我知道代码有多垃圾。它只是在测试和摆弄以弄清楚我能做什么以及如何做到这一点

编辑:

我正在尝试通过将 php 会话连接到 C++ 服务器来实现我自己的长轮询系统...如果会很困难,我愿意放弃会话,但最终我希望能够维护一个会话,以便我可以通过浏览器更改页面来分叉一个进程来管理客户端

4

2 回答 2

1

PHP 在服务器端执行,因此一旦生成页面,它就是静态的。如果您需要不断更新页面内容,您可以使用 Web 套接字或 ajax。基本上,一旦页面被渲染,AJAX 会让您的浏览器使用 Javascript 与您的服务器对话。像 jQuery 这样的库使它变得非常简单。

来自 jQuery 文档(http://api.jquery.com/jQuery.post/):

$.post("test.php", { name: "John", time: "2pm" })
.done(function(data) {
  alert("Data Loaded: " + data);
});
于 2013-03-30T18:03:49.613 回答
0

你可以使用 NodeJS。它是服务器端 JavaScript。

使用 NodeJS,您可以在浏览器页面和 Web 服务器之间建立套接字连接。使用它,您可以根据服务器的意愿将数据推送到浏览器。

但您可能需要一些时间才能开始。

推荐阅读:

于 2013-03-30T19:04:00.687 回答