PHP 通過Socket收發(fā)十六進制數(shù)據(jù)的實現(xiàn)代碼
最近在php下做關(guān)于Socket通訊的相關(guān)內(nèi)容,發(fā)現(xiàn)網(wǎng)絡(luò)上好多人在了解如何進行16進制收發(fā),研究了下,代碼如下,歡迎拍磚。
<?php
$sendStr = '30 32 30 34 03 30 33'; // 16進制數(shù)據(jù)
$sendStrArray = str_split(str_replace(' ', '', $sendStr), 2); // 將16進制數(shù)據(jù)轉(zhuǎn)換成兩個一組的數(shù)組
$socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname("tcp")); // 創(chuàng)建Socket
if (socket_connect($socket, "192.168.1.100", 8080)) { //連接
for ($j = 0; $j < count($sendStrArray); $j++) {
socket_write($socket, chr(hexdec($sendStrArray[$j]))); // 逐組數(shù)據(jù)發(fā)送
}
$receiveStr = "";
$receiveStr = socket_read($socket, 1024, PHP_BINARY_READ); // 采用2進制方式接收數(shù)據(jù)
$receiveStrHex = bin2hex($receiveStr); // 將2進制數(shù)據(jù)轉(zhuǎn)換成16進制
echo "client:" . $receiveStrHex;
}
socket_close($socket); // 關(guān)閉Socket
?>
相關(guān)文章
ThinkPHP6使用最新版本Endroid/QrCode生成二維碼的方法實例
這篇文章主要介紹了ThinkPHP6使用最新版本Endroid/QrCode生成二維碼的方法,結(jié)合實例形式詳細(xì)分析了ThinkPHP6使用最新版本Endroid/QrCode生成二維碼具體步驟、原理、實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下2023-07-07
PHP面向?qū)ο罄^承用法詳解(優(yōu)化與減少代碼重復(fù))
這篇文章主要介紹了PHP面向?qū)ο罄^承用法,結(jié)合實例形式分析了php面向?qū)ο蟪绦蛟O(shè)計中繼承的使用方法及代碼優(yōu)化處理與減少代碼重復(fù)的相關(guān)操作技巧,需要的朋友可以參考下2016-12-12
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的簡易安裝配置
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的簡易安裝配置...2006-11-11
php性能優(yōu)化進階不要在for循環(huán)中操作DB
這篇文章主要為大家介紹了php性能優(yōu)化進階不要在for循環(huán)中操作DB,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06

