《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
是汽车电桩还是什么?是自营场站还是三方场站,如果是三方汽车充电中电联有个标准文档,直接对接就好啦。走http的
最近也在弄一个基于tcp/ip的生鲜柜,对方说是stock通信。留个脚印。看看有没有php方案
大佬可以看看这个https://edu.51cto.com/course/26196.html,借鉴一下经验。
走mqtt就好啦
react/socket
没有文档吗
我是用wokerman实现业务,一般都是基于TCP/IP ⚠️:鉴于交互量较大,尽可能的少走数据库,后期电桩数量多上传多的话需要安装libevent扩展来支持N多设备的连接。正常代码就好,具体业务就看充电桩厂家的文档就好
学会提问
workerman轻松解决,各种协议都支持
留个眼,我目前也在对接共享洗车业务也涉及到这方面
@ononl @SevenMonths @SammlHui 加个v(sym134)互相交流一下
www.bilibili.com/video/BV1N44y1Q7u... 瞅瞅这个是不是你想要的
做过,用hyperf做了一半tcp服务。后面客户要求又改用java netty+springboot做。需要的话可以加个好友我和你说说之前的架构和逻辑
最近也在对接插座设备,监控电流数据,还有设备开关,用
laravelS
做胶水层,一般来说就是将设备上传的字节流字符串转成ASCII码,然后再转成十六进制,之后就是看着文档对接了插个眼
用python,过来人的建议
具体不太清楚,我一般都是轮训后端接口
TCP/IP是一种基础的网络通信协议,它定义了计算机之间如何在网络上进行数据传输。MQTT是一种基于TCP/IP协议的消息传输协议,它是为低带宽和不可靠网络环境设计的,主要用于物联网设备之间的通信。
如果厂家发过来的协议是基于TCP/IP的,那么你可以直接使用TCP/IP协议进行通信,不一定需要使用MQTT。但是,如果你的应用场景需要低带宽和高可靠性,或者需要实现设备之间的消息发布和订阅功能,那么使用MQTT可能会更加合适。
总的来说,是否使用MQTT取决于你的具体需求和应用场景。如果厂家没有明确要求使用MQTT,你可以根据自己的需求选择合适的通信方式。 Workerman是一个高性能的PHP socket服务器框架,可以用来开发TCP、UDP、UnixSocket、Websocket等多种协议的应用。以下是一个使用Workerman开发的基于TCP/IP的简单socket服务器和客户端的例子。
首先,确保你已经安装了Workerman。如果没有安装,可以通过Composer来安装:
bash composer require workerman/workerman 然后,创建一个名为tcp_server.php的文件,用于启动TCP服务器:
php <?php require_once DIR . '/vendor/autoload.php';
use Workerman\Worker;
// 创建一个Worker监听2345端口,使用tcp协议通讯 $tcp_worker = new Worker("tcp://0.0.0.0:2345");
// 启动4个进程对外提供服务 $tcp_worker->count = 4;
// 当客户端发来数据时 $tcp_worker->onMessage = function($connection, $data) { // 向客户端发送hello $data $connection->send('hello ' . $data); };
// 运行worker Worker::runAll(); 然后,创建一个名为tcp_client.php的文件,用于启动TCP客户端:
php <?php require_once DIR . '/vendor/autoload.php';
use Workerman\Worker; use Workerman\Connection\AsyncTcpConnection;
// 不需要设置 Worker,直接使用 AsyncTcpConnection 发送数据。 $connection = new AsyncTcpConnection('tcp://127.0.0.1:2345');
// 当连接建立成功时,发送数据 $connection->onConnect = function($connection) { echo "Connected to server\n"; $connection->send("Hello World\n"); };
// 当连接收到服务端发送的数据时,打印数据并关闭连接 $connection->onMessage = function($connection, $data) { echo "Received data: $data\n"; $connection->close(); };
// 如果连接失败,显示错误信息 $connection->onError = function($connection, $code, $msg) { echo "Error: $msg\n"; };
// 当连接关闭时,显示日志 $connection->onClose = function($connection) { echo "Connection closed\n"; };
// 连接服务端 $connection->connect(); 运行服务器:
bash php tcp_server.php start 在另一个终端运行客户端:
bash php tcp_client.php 客户端将连接到服务器,发送"Hello World"字符串,然后服务器会响应"hello Hello World"字符串。客户端收到响应后,将打印出来并关闭连接。
请注意,这只是一个非常基础的例子,实际使用中你可能需要处理更多的逻辑,比如异常处理、连接管理、协议编码解码等。
刚好对接过两个厂家的tcp设备,用的swoole做的服务端
遇到几个比较明显的坑
设备打1量少tcp就好了,设备量过万就用mqtt
mqtt 刚做了一个
看了评论区又涨知识了
这种直接gatewayworker最合适,网关协议自己实现一下,逻辑服务处理设备请求。
插眼
学习学习