【问题标题】:PHP & C++ Send / Receive EventsPHP & C++ 发送/接收事件
【发布时间】:2014-02-08 14:40:45
【问题描述】:

我正在尝试使用 PHP 和 C++ 发送/接收事件

示例 从 C++ 发送数据并在我的管理面板中实时接收

将数据从 Php 发送到我的 C++ 应用程序并实时接收

我尝试了很多东西,比如通过套接字发送/接收数据

也试过 socket.io.js ,试过 Jquery > WebSocket Too

我还阅读了有关发送/接收 HTTP 请求的信息

我总是卡在实时接收数据中:(

在我将带有套接字的数据发送到我的 PHP 脚本后,我必须刷新页面才能获取数据

另一个注意事项:如果我使用套接字所有我尝试在(刷新)之后接收数据我必须重新连接到套接字,我只想连接一次然后等待响应(等待数据而不使用 while 循环因为它会保持页面加载)

C++ : 是服务器

PHP : 是客户端

对此有什么建议吗,

【问题讨论】:

    标签: php jquery c++ node.js sockets


    【解决方案1】:

    PHP 是一种服务器端脚本语言。除非您与客户端(在本例中为网络浏览器)通信,否则它将无法“实时”处理数据。最好的方法是通过 javascript。 PHP 或您的 C++ 客户端都可以响应来自某些 javascript 的请求。

    我已经使用 websockets 完成了这项工作,但这需要 HTML5,它只适用于最新的浏览器。在后端(服务器端),我使用了 node.js。您可以通过以下方式查看一个工作示例:

    然而,以上是相当复杂的例子(由于一些在最新的 64 位版本的 windows 上难以编译的依赖关系,服务器在 linux 中也更容易使用)。

    作为您的开始,我建议您查看 node.js 插件:https://github.com/Worlize/WebSocket-Node

    上面链接的文档中显示了一个示例,我相信该示例将涵盖您的查询。

    :编辑

    如果您希望支持旧版浏览器,那么我建议您使用 javascript 对您的服务器执行常规 http 查询。然后你可以使用你的 php 来回复查询并使用 javascript 来操作你的 DOM 以便你的网页自动更新。

    这是一个使用 javascript 从服务器获取数据并使用 JSON 作为数据格式显示警报的示例:http://www.caveofprogramming.com/frontpage/articles/php/php-json-an-example-javascript-json-client-with-php-server/

    【讨论】:

    • 如果我将使用套接字,将数据从 c++ 服务器发送到客户端(Javascript 或 Jquery)使用 Javascript 或 Jquery 接收套接字的最佳功能是什么
    • 您需要通过 Javascript 从客户端(网络浏览器)连接到您的 c++ 服务器。这取决于你什么是最好的。如果您的 c++ 服务器支持 http,那么我建议您定期轮询(或通过用户交互)。 c++ 的 Websocket 库现在可能已经成熟了,但我在一年前研究过它们,它们并不是很好。有大量关于如何使用 javascript 查询 Web 服务器的示例。那将是最有可能的。做最简单的事情。
    • 我添加了一个示例链接,该示例使用 javascript 查询服务器并根据从服务器接收到的数据显示警报(服务器正在运行 php)。
    • Php 是本例中的服务器并使用:json_encode($data) 以 json 格式向客户端发送数据,c++ 是我的服务器,所以我使用 ___ char *sendbuf = "Message Sent From C++ Server To客户(成功)”;发送(mySocket,sendbuf,(int)strlen(sendbuf),0);那么我将如何在客户端使用 javascript 接收它 :( 对不起,如果我惹恼了你 .. 但我搜索了很多关于使用 jquery 或 javascript 接收套接字的信息,发现 WebSocket 但未能接收正确的数据,所以一个用 javascript 连接/接收的小例子插座会好的
    猜你喜欢
    • 2012-08-10
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多