php - 使用套接字传递按钮单击事件

标签 php apache sockets ubuntu websocket

愿望: 我有一个设备或微 Controller ,我将其称为 mc,当使用套接字单击网页按钮时,我需要与之通信。

MC1
<button id ='on1' name='mc1'>On</button>
<button id ='off1' name='mc1'>off</button>

详细信息: 我想要完成的是单击按钮时将信息传递给 mc。

我的尝试: 目前我可以监听一个端口,可以向 mc 写入数据以及接收数据。 为此,我通过服务器 php cli 启动一个文件。该文件包含这些基本套接字函数。

 $socket = @socket_create_listen("port#");
 $client = socket_accept($socket);
 socket_write($client, $msg);
 socket_read ($client, 256);

然后 mc 连接到端口号的服务器

问题: 我很难理解如何弥合我的 php 网页与按钮之间的差距,以及如何将已单击按钮的数据传递给 mc。

尝试解决方案: 我可以让监听端口运行的文件然后在单独的文件中写入客户端吗?

补充说明:MC LAN我想避免设置端口转发和外部ip有时会改变。由于这些原因,我不得不选择让 MC 建立与服务器的连接,从而允许服务器写入 MC 而无需端口转发和不变的 IP 地址。

谢谢 JT

最佳答案

最简单的方法是创建一个在网络服务器(如 apache,但无论如何)中运行的简单程序(php 也行)。无论何时调用它,它都会同步打开一个到您的 MC 的套接字并发送数据。

您不会编写任何代码来打开监听套接字,但您的 php 会使用 socket_connect 打开到 MC 的客户端套接字。 ,发送数据,然后关闭套接字。然后您可以将状态返回给网络客户端。

关于php - 使用套接字传递按钮单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18414297/

相关文章:

php - 使用 SimpleXML 解析 PHP 中嵌套的 XML/RDF 命名空间元素

PHP & MySQL : using group by for categories

php - 在 Linux 上以特权用户身份通过​​ PHP/Perl 脚本运行命令

apache - ssl_error_rx_record_too_long 和 Apache SSL

java - 如何在 android 中发布参数并将数据作为 JSONObject 返回?

php - 在 PHP session 中保存 jQuery 变量

apache - 如何为 React 路由设置 apache 服务器?

c++ - 如何在套接字编程C++中使用snprintf的结果并将其从服务器发送到客户端

c - recvfrom无限接收问题

c++ - 如何使用addrinfo初始化sockaddr_in