<?
$cfgServer = "unix:///var/www/unix_socket/shina.sock";
$cfgPort = 0;
$cfgTimeOut = 10;
$server_socket_con = fsockopen($cfgServer, $cfgPort, &$errno, &$errstr, $cfgTimeOut);
if(!$server_socket_con) {
echo "Failed\n";
exit();
}
else {
echo "Connected\n\r<hr/>";
$in = '<teg type=21 />';
fwrite($server_socket_con, chr(0x0031).$in);
$out = fgets($server_socket_con, 2048);
echo $out;
}
// закрываем socket
fclose($server_socket_con);
Асинхронная передача через сокет.
Есть сервер на Юниксе, он ждет обращений через сокет.
Запрос выглядит так, 2 байта данных (определяет что надо) и сам запрос, просто текст (XML) вида "<teg type=21 />"
2 байта данных вида (0x0031)
после отправки запроса, сервер присылает ответ тоже в виде XML
Никак не пойму как это сделать, в частности отправить 2 байта служебных + строку.
делаю примерно так
Код:
еще вопросик, после fwrite, fgets выведет ответ сервера на запрос? или и тут неверно мыслю?