0
나는 다음과 같은 코드가 있습니다PHP에서 소켓을 사용하여 16 진수를 보내고받는 방법?
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");
수신 측이 같은 그것을 얻을 : 나는이처럼
$send1 = 0x01;
$send2 = 0x03;
$send3 = 0x00;
$send4 = 0x00;
을 보내
$result = socket_read ($socket, 1024) or die("Could not read server response\n");
echo "Reply From Server :".$result;
를 수신 데이터는 다음과 같습니다 1300
, 어떻게 보내고 PHP에서 소켓을 사용하여 16 진수를받을 수 있습니까?
하지만 $ send2 = "0xCD"는 어떻게 수신하여 16 진수로 변환합니까? – user2131316
두 번째 생각에, 나는 코드가 16 진수로 값을 보내는 것으로 시작한다는 것을 깨달았다. 따라서 var_dump (0x01)는 int (1) 을 제공하고 var_dump (0xcd)는 int (205)를 제공합니다. 다음과 같이 보낼 수도 있습니다. $ send1 = 0xcd; (단 하나의 값) 수신 측에서 얻은 결과를 확인하십시오. 수신 측에서 실제로 16 진수 값을 얻는다면 각 헥사 값 다음에 분리 기호를 추가 한 다음 (예 : |와 같이) 구분자를 수신자 측에서 분할하여 추가 처리를 수행하면됩니다 . 이 모든 것이 의미가 있기를 바랍니다. – Maximus2012