php socket发送十六进制指令
16lz
2021-11-09
十六进制转换:
PHP 操作串口或socket时以16进制发送
"10 EE 2D 0F"
16进制字符串写法:
"\x10\xEE\x2D\x0F"
$sendStr = hex2bin(preg_replace('# #', '', "10 EE 2D 0F"))
socket发送:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 创建Socket
if (socket_connect($socket, "127.0.0.1", 7002)) { //连接
socket_write($socket, $sendStr);
$receiveStr = "";
$receiveStr = socket_read($socket, 1024, PHP_BINARY_READ); // 采用2进制方式接收数据
$receiveStrHex = bin2hex($receiveStr); // 将2进制数据转换成16进制
echo "client:" . $receiveStrHex;
}
socket_close($socket); // 关闭Socket
————————————————
版权声明:本文为CSDN博主「lkj4565」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lkj4565/article/details/79076763
更多相关文章
- Linux内核发送构造数据包的方式
- 微信公众号接入与发送接收消息
- 实现原生微信接入 当用户关注/发送消息时对应内容回应
- 安装ApiPost-接口工具 发送HTTP请求
- ThinkPHP5 phpmailer发送邮件
- 数据包处理利器——Scapy基础知识
- Elasticsearch改协议、AWS直呼好机会
- 从入门到入土(三)RocketMQ 怎么保证的消息不丢失?
- HTTP报文头Accept和Content-Type总结