Я создал сервер сокетов PHP. Я подключился к нему с помощью telnet или putty, и все работает хорошо, пока я не попытался подключиться в приложении .Net, каждый раз, когда я запускаю приложение, он закрывает сервер, вот мой код C#, только две строки:Закрытие PHP-сокета принудительно клиентом
System.Net.Sockets.TcpClient cli = new System.Net.Sockets.TcpClient("192.168.0.200", 10000);
cli.Close();
Когда я запустить приложение на сервере PHP сокет закрыт с этой ошибкой:
Warning: socket_read(): unable to read from socket [0]: An existing connection was forcibly closed by the remote host
Я попытался закомментировав Cli.close()
линии, и конечно же сокет остался открытым до тех пор, C# приложение не будет закрыто, то его будет закрываться с тем же сообщением об ошибке выше.
Так что же вызывает проблему ?, клиент не должен закрывать сокет таким образом.
Спасибо
Можете ли вы дать код php, ответственный за чтение сокетов? – Stepashka
Это точно так же, как в примере руководства http://php.net/manual/en/sockets.examples.php –
В чем проблема? Если клиент закрывает соединение, что вы ожидаете? Если вы подключаетесь к telnet/putty, и вы удаляете соединение, закрывая telnet/putty с помощью taskmanager (поэтому без ввода 'quit' или' shutdown' в telnet/putty) вы получаете другое поведение? –