No. 874 | Re: EZI-10 모델로 명령을 보내도 작동하지 않습니다. | 2011-03-25 | ||
---|---|---|---|---|
안녕하세요. 솔내시스템입니다. 제가 원했던 것은 스트링에 값을 넣을때 16진수를 char 형으로 변환하는 것이었습니다. 그래서 총 15바이트로 보내야 합니다. PHP로 하신 방법으로는 "0x00" 하면 4바이트의 문자열이 됩니다. 위 그림을 참조하시고 아스키코드표를 참조하셔서 char 형으로 만들어 주어야 합니다. 16진수 10진수 char형 0x00 -> 0 -> NUL 0x09 -> 9 -> TAB 0x01 -> 1 -> SOH ................ php를 몰라서 제가 원하는대로 변환하는 방법을 찾지 못하였습니다. 양해 부탁드립니다. 감사합니다. > 박승홍 wrote: > ------------------------------------ > php 에서 아래와 같이 하여 EZI-10 모델로 ping 테스트에 성공하여습니다. > > 그래서 이번엔 포트 번호를 502로 바꾸고 지난 번 알려주신 페킷(outup=>on 명령) > > $package = "x00x00x00x00x00x09x01x10x00x08x00x01x02x00x11"; > > 을 아래 소스 package 에 대체에서 테스트해 봤는 데 되지를 않내요? > > 어떡하면 될까요? > > ============= 아래 ==================================================== > > $package = "x08x00x7dx4bx00x00x00x00PingHost_tj"; > $socket = socket_create(AF_INET, SOCK_RAW, 1); > > socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('ssec's => $timeout, 'susec's => 0)); > socket_connect($socket, $host, null); > > socket_send($socket, $package, strLen($package), 0); > > if ($v = socket_read($socket, 255)) > echo $v; > else $result = false; > > socket_close($socket); > > > ======= 지난번 주신 답변 ========= > > On 제어 > char buf[15]; > memset(&buf, 0x00, sizeof(buf)); > > buf[0] = 0x00; > buf[1] = 0x00; > buf[2] = 0x00; > buf[3] = 0x00; > buf[4] = 0x00; > buf[5] = 0x09; > buf[6] = 0x01; > buf[7] = 0x10; > buf[8] = 0x00; > buf[9] = 0x08; > buf[10] = 0x00; > buf[11] = 0x01; > buf[12] = 0x02; > buf[13] = 0x00; > buf[14] = 0x11; //On > > m_ClientSocket.Send(&buf, sizeof(buf), 0); > > 또는 > CString strMsg; > strMsg.Format("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c", 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x01, 0x10, 0x00, 0x08, 0x00, 0x01, 0x02, 0x00, 0x11); > > // 멀티바이트 > m_ClientSocket.Send(strMsg, strMsg.GetLength(), 0); > // 유니코드인 경우 > m_ClientSocket.Send(strMsg, strMsg.GetLength()*2, 0); |
첨부파일 | 20110325_Value.bmp | ||
글쓴이 | 솔내시스템(주) | 업체명 |
NO | Subject | Name | Date | Read |
---|---|---|---|---|
874 | Re: EZI-10 모델로 명령을 보내도 작동하지 않습니다. | 솔내시스템(주) | 2011-03-25 | 3944 |
|
|||