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);
相关推荐
BTU_YC1 小时前
Failed to start The PHP FastCGI Process Manager.
开发语言·php
星星岛屿1 小时前
网络原理---TCP/IP
服务器·网络·tcp/ip
风雨「83」1 小时前
nginx 动态计算拦截非法访问ip
运维·tcp/ip·nginx
hgdlip2 小时前
全面解析:如何查找电脑的局域网与公网IP地址‌
网络·网络协议·tcp/ip·电脑
u0109053592 小时前
神卓 S500 异地组网设备实现监控视频异地组网的详细步骤
网络·音视频
VVVVWeiYee2 小时前
ISIS(中间系统到中间系统)——基础
运维·网络·华为·信息与通信
城主科技3 小时前
【HCIE实验1】模拟 DHCPv6 服务器及 PD 服务器分配 IPv6 地址和前缀的网络环境。
服务器·网络·apache
佛系Java程序员3 小时前
【Linux】Linux常用命令
linux·服务器·php
浅念同学3 小时前
JavaWeb-Servlet对象生命周期
java·网络·spring boot·servlet·java-ee·tomcat
Geek极安网络安全3 小时前
2025年度福建省职业院校技能大赛高职组“信息安全管理与评估”赛项样题模块一
运维·网络·安全·web安全·php