愿望:我有一个设备或微控制器,我称之为mc,当使用套接字点击网页按钮时,我需要与之通信。
MC1
<button id ='on1' name='mc1'>On</button>
<button id ='off1' name='mc1'>off</button>
详细信息:我试图完成的是当点击按钮时,将信息传递给mc。
我尝试了什么:,我现在可以监听一个端口,可以向mc写入数据,也可以接收数据。为此,im通过服务器php启动文件。该文件包含这些基本的套接字函数。
$socket = @socket_create_listen("port#");
$client = socket_accept($socket);
socket_write($client, $msg);
socket_read ($client, 256);
然后mc连接到port#上的服务器。
问题:我很难理解我的网页与按钮之间的差距,以及如何将按钮被点击的数据传递给mc。
尝试解决方案:可以让侦听端口的文件运行,然后在单独的文件中向客户端写入吗?
附加说明:MC我想避免设置端口转发和外部ip有时改变。由于这些原因,我不得不选择让MC建立到服务器的连接,从而允许服务器向MC写入,而不需要端口转发和一个不变的ip地址。
谢谢JT
发布于 2013-08-23 18:31:10
最简单的方法是创建一个运行在web服务器上的简单程序(php很好)(比如apache,但是什么都可以)。每当调用它时,它都会同步打开一个套接字给MC并发送数据。
您不会编写任何代码来打开侦听套接字,但是您的php将使用连接向MC打开客户端套接字,发送数据,然后关闭套接字。然后,您可以将状态返回给web客户端。
发布于 2013-08-23 18:39:29
假设web服务器不能直接打开到MC的连接,而MC只能创建到静态IP的出站连接。您希望在您的php代码中有一个循环,请参见http://www.php.net/manual/en/function.socket-read.php#73509 --将usleep (1000000);
更改为sleep(1);
,在休眠命令之后,检查数据库(或文件的存在)是否应该向MC发送任何消息。然后,在你的前端php脚本(html)上,你可以写到你的数据库或创建一个文件时,用户POST
为按钮点击回来。
https://stackoverflow.com/questions/18414297
复制相似问题