0
我有以下代碼:如何在PHP中使用套接字發送和接收十六進制?
$send1 = 0x01;
$send2 = 0x03;
$send3 = 0x00;
$send4 = 0x00;
,我把它像這樣:
socket_write($spawn, $send1, strlen ($send1)) or die("Could not write output\n");
socket_write($spawn, $send2, strlen ($send2)) or die("Could not write output\n");
socket_write($spawn, $send3, strlen ($send3)) or die("Could not write output\n");
socket_write($spawn, $send4, strlen ($send4)) or die("Could not write output\n");
接收方得到這樣的:
$result = socket_read ($socket, 1024) or die("Could not read server response\n");
echo "Reply From Server :".$result;
和接收的數據是: 1300
,如何在PHP中使用套接字發送和接收十六進制?
但是$ send2 =「0xCD」怎麼樣,如何接收並將其轉換爲十六進制?第二次想到了 – user2131316
,我意識到代碼是以十六進制發送值開始的。所以var_dump(0x01)給出int(1) 和var_dump(0xcd)給出int(205)。你可能想嘗試發送像這樣的東西:$ send1 = 0xcd; (只有一個值),看看你在接收端得到了什麼。如果您確實在接收端獲得了十六進制值,那麼您只需在每個十六進制值之後添加一個分隔符(例如|,例如),然後將該分隔符的接收端的十六進制輸入拆分爲進一步處理。我希望這一切都有道理。 – Maximus2012