Добрый день!
Долго думал задавать вопрос или нет, так как он очень нубский, но в итоге решился.
Вообщем решил я освоить работу с сокетами и написать в качестве ознакомления простой чат. В качестве базы выбрал PHP (знаю то не лучший выбор, но вспоминать C++ и ставить студию не хотелось).
Работаю стандартно как написано в документации и примерах:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
...
socket_bind($socket, $address, $port);
...
socket_listen($socket, 10);
...
while (true) {
$connect = socket_accept($socket);
$result = socket_read($connect,1024);
echo 'Common data: '.$result."\r\n";
socket_write($connect,'You sending me: '.$result."\r\n");
socket_shutdown($connect);
}
При подключении к этому сокету на клиенте всё отрабатывается, но как только я пытаюсь подключить второго клиента, до того момента пока первое подключение не закрыто, то он висит и не может подключится, пока для первого не выполнится socket_shutdown($connect);
В связи с этим вопрос:
Как мне организовать работу с несколькими подключениями одновременно? Иначе получается что каждый клиент, чтобы получить сообщения от других клиентов должен снова подключаться и запрашивать эти сообщения.
Пытаюсь создать несколько сокетов на одном и том же порту, но по понятным причинам мне этого сделать не дают.
Находил в инете пример именно на php, но ссылка на код оказалась битой.
Заранее спасибо всем ответившим.