php使用sockets实现Modbus TCP串口通信

sockets文档地址:https://www.php.net/manual/zh/book.sockets.php

一:安装sockets拓展

1:windows安装sockets

找到php.ini文件,将下面这行注释即可

复制代码
extension=sockets

2:Linux安装sockets

复制代码
pecl install sockets

找到php.ini文件,增加下面这行即可

复制代码
extension=socket.so

3:docker安装

再docker容器中执行下面这行即可

复制代码
docker-php-ext-install sockets

二:sockets简单实现Modbus TCP信息报送

复制代码
$serverIP = 'XXX.XXX.XXX.XXX';  // Modbus TCP服务器IP
$serverPort = 8000;  // Modbus TCP服务器端口

// 创建TCP连接
$socket = \socket_create(AF_INET, SOCK_STREAM, SOL_TCP);


if ($socket === false) {
    die("socket_create() failed: reason: " . socket_strerror(socket_last_error()));
}
try {
    \socket_connect($socket, $serverIP, $serverPort);
} catch (\Exception $e) {
    die("无法连接到Modbus TCP服务器");
}
//请求报文
$request = 'XXXX';
//将报文转为十六进制字符串
$request = pack('H*', $request);
//发送请求报文
\socket_write($socket, $request);
// 接收响应报文
$response = \socket_read($socket, 2048);
//处理响应报文
$data = unpack('h*', $response);
// 关闭TCP连接
\socket_close($socket);
相关推荐
G_H_S_3_4 分钟前
【网络运维】Linux:正则表达式
linux·运维·网络·正则表达式
望获linux2 小时前
【实时Linux实战系列】基于实时Linux的物联网系统设计
linux·运维·服务器·chrome·php
腾科张老师2 小时前
OSPF 典型组网
网络·智能路由器
2301_801673017 小时前
8.19笔记
网络·安全
三坛海会大神55511 小时前
计算机网络参考模型与子网划分
网络·计算机网络
云卓SKYDROID11 小时前
无人机激光测距技术应用与挑战
网络·无人机·吊舱·高科技·云卓科技
fakaifa14 小时前
点大餐饮独立版系统源码v1.0.3+uniapp前端+搭建教程
小程序·uni-app·php·源码下载·点大餐饮·扫码点单
iナナ17 小时前
传输层协议——UDP和TCP
网络·网络协议·tcp/ip·udp
华强笔记18 小时前
Linux内存管理系统性总结
linux·运维·网络
iY_n20 小时前
Linux网络基础
linux·网络·arm开发