정수를 현재 통합하려고하는 장치에 ACK로 전송하기 위해 4 바이트 (32 비트) 16 진수로 변환해야합니다. 예를PHP는 소켓 프로그래밍을 위해 32 비트 (4 Byte) 16 진수로 변환합니다.
를 들어
3 = 00000003 15 = 0000000F
확인 http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html 1. 드롭 다운 2. 32 비트 decomal 텍스트 상자 3의 값을 입력 서명했다. 16 진수 필드의 값을 확인하십시오.
이 매개 변수와 함께 php pack 기능을 사용하고 있지만 장치의 응답을 기반으로 올바른 접근 방식이 아닙니다.
$reply = pack(L*,$num);
이 매개 변수가 올바른지 또는 다른 방법이 있습니다. 제안 해주세요.
는 적절한 엔디안/바이트 순서를 사용하고 있는지 확인하십시오. PHP에서'0xDEADBEEF'는 디바이스에서'0xEFBEADDE' 일 필요가 있습니다. –
뭐하고 있니? 또한 실제 코드에서는'L *'주위에 따옴표가 붙어 있나? –
예 'L *'을 의미합니다. – user2055396