Php socket - отправка массива байтов.. От VB
Здравствуйте, я пытаюсь дублировать функцию отправки сервера, написанную на vb, она мне нужна на PHP.
Часть VB-это :
Dim zSendBuffer(zTCPClient.SendBufferSize) As Byte BitConverter.GetBytes(iHandShake).CopyTo(zSendBuffer, 0) BitConverter.GetBytes(((uText.Length * 2) + 2)).CopyTo(zSendBuffer, 4) BitConverter.GetBytes(&HFEFF).CopyTo(zSendBuffer, 8) Encoding.Unicode.GetBytes(uText).CopyTo(zSendBuffer, 10) iSendeStatus = SendeStati.Sending zNetworkStream.Write(zSendBuffer, 0, (10 + (uText.Length * 2))) iSendeStatus = SendeStati.Processing
И я пытаюсь написать что-то на PHP, но даже если запись в scoket работает, я не получаю ответа.
вот структура пакета :
[----- Рукопожатие -----------] [-------- Länge ------------] [-B. O. Mark] [XML-строка]
0xA7 0x05 0xFE 0xAB 0x?? 0x?? 0x?? 0x?? 0xFF 0xFE 0x?? 0x?? ...
вот PHP-код я и пробую...
$message = $xml; $iHandShake = hexdec("&HABFE05A7"); $iByteOrderMark = hexdec("&HFEFF"); $myBuffer = ""; $myBuffer = $iHandShake; $myBuffer.=((strlen($xml)*2)+2); $myBuffer.=$iByteOrderMark; $myBuffer.=$xml; $myBufferUTF8 = utf8_encode($myBuffer); $byte_array = unpack('C*', $myBufferUTF8); $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n"); // connect to server $result = socket_connect($socket, $host, $port) or die("Could not connect to server\n"); // send string to server socket_write($socket, $myBufferUTF8, strlen($myBufferUTF8)) or die("Could not send data to server\n"); // get server response $result = socket_read ($socket, 65537) or die("Could not read server response\n"); echo "Reply From Server :".$result; // close socket socket_close($socket); }
Что я уже пробовал:
Попытка находится в описании сообщения