В настоящее время мы используем систему, которая принимает входящий JSON-запрос по TCP и отвечает также с помощью JSON.В настоящее время я настроил свой сокет так в PHP:
$socket = fsockopen($host, $port, $errno, $errstr, $timeout);
if(!$socket)
{
fwrite($socket, $jsonLoginRequest); // Authentication JSON
while(json_decode($loginResponse) == false) // We know we have all packets when it's valid JSON.
{
$loginResponse .= fgets($socket, 128);
}
// We are now logged in.
// Now call a test method request
fwrite($socket, $jsonMethodRequest);
while(json_decode($methodResponse) == false) // We know we have all packets when it's valid JSON.
{
$methodResponse .= fgets($socket, 128);
echo $methodResponse; // print response out
}
// Now we have the response to our method request.
fclose($socket);
}
else
{
// error with socket
}
В данный момент это работает, и сервер отвечает на запрос метода.Тем не менее, некоторые методы будут отвечать таким образом, чтобы подтвердить вызов, но также будут отвечать позже с результатами, которых я добиваюсь.Так что мне действительно нужен TCP-слушатель.Кто-нибудь может посоветовать, как я могу написать слушатель TCP, используя fsock, как у меня выше?
Спасибо