Hello, i'm trying to duplicate a server send function written in vb, i need it in PHP.
The VB part is :
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
And i'm trying to write somthing in PHP but, even if the write to scoket works, i receive no reply.
here is the dtructure of packet :
[----- Handshake -----------] [-------- Länge ------------] [-B.O. Mark] [XML-String]
0xA7 0x05 0xFE 0xAB 0x?? 0x?? 0x?? 0x?? 0xFF 0xFE 0x?? 0x?? ...
here the PHP code i try...
$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");
$result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
socket_write($socket, $myBufferUTF8, strlen($myBufferUTF8)) or die("Could not send data to server\n");
$result = socket_read ($socket, 65537) or die("Could not read server response\n");
echo "Reply From Server :".$result;
socket_close($socket);
}
What I have tried:
The try is in the description of message