如何在 WAMP/LAMP 上通过 PHP 接收 TCP 数据(不是 HTTP)?
Posted
技术标签:
【中文标题】如何在 WAMP/LAMP 上通过 PHP 接收 TCP 数据(不是 HTTP)?【英文标题】:How to receive TCP data (not HTTP) via PHP on WAMP/LAMP? 【发布时间】:2016-01-31 13:14:11 【问题描述】:我正在玩 GPS 追踪器,它们通过 TCP 将十六进制发送到服务器。我已经设置了一个 LAMP 服务器,并希望处理来自跟踪器的数据并将其存储到 mysql 中。
我在开发 http web 应用程序方面拥有丰富的经验,但是我在玩 tcp 套接字和直接从它而不是通过 HTTP 处理数据方面的经验为零,我不知道这是否可能。
1) 我已经阅读并找到了对 TCP 和其他东西的支持,但我的问题是,php 可以单独处理 TCP 数据吗?我有点认为 PHP 只是在 Apache HTTP 之上。
2) 另外,如果 php 确实支持直接 TCP 处理(或者我想我应该说监听),共享主机是否“通常”支持?还是我必须请求这样的功能?
3) 你能推荐一个开源包吗?它几乎可以处理在 mysql 中接收和存储原始数据?我真正需要的只是将这些数据导入 mysql,然后我可以通过 php 对它施展魔法。
PS 我什至需要这样做 TCP 方式吗?我可以更改设备发送到的端口,并将其设为端口 80。这样 Apache 将接收它,也许我可以让 index.php 文件处理原始数据(?)
希望找到指导并引导我走上正确的道路。 :)
【问题讨论】:
您是否阅读了关于此的选定答案? ***.com/questions/13054291/… 另外我相信共享网络主机严格用于网络/邮件协议,你可能需要 VPS 但它似乎完全可行。 呃哦,我在找同样的东西,看来你不能做你想做的事...... 1)你会发现 PHP 作为一个 cli 进程可以处理你的tcp 数据作为套接字,遗憾的是几乎没有托管服务会让您直接执行 PHP 脚本... 2) 呃,哦,我刚才说,不,大多数托管服务不会让您这样做... 3) 我建议你去寻找一个node.js服务器,(你可以很容易地在本地实现你的)它让你创建一个服务器来监听TCP数据包并存储到一个mysql数据库,我读到godaddy让你设置一个node.js服务器,但我还在寻找... 【参考方案1】:我认为您正在寻找这样的东西:
http://socketo.me/docs/hello-world
【讨论】:
【参考方案2】:我不知道 php,但是使用 node.JS,您可以使用 net.js 在 web 应用程序中轻松地进行套接字连接。 https://nodejs.org/api/net.html
你可以接收gps数据,然后转换成JSONObject,然后显示在地图上什么的
【讨论】:
【参考方案3】:我认为这个链接可以帮助你。 在此链接中,您会看到编写器创建 tcp 套接字并将消息发送到服务器并从服务器获取回复:)
http://grassi86.altervista.org/client-tcp-with-php/
【讨论】:
以上是关于如何在 WAMP/LAMP 上通过 PHP 接收 TCP 数据(不是 HTTP)?的主要内容,如果未能解决你的问题,请参考以下文章