<?php
$address = '127.0.0.1';
$port = 5190;
$max_clients = 100;
// массив клиентов
$client = Array();
//массив ожидания чтения из сокетов
$read=Array();
// создаем сокет
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
// связываем имя с сокетом
socket_bind($sock, $address, $port) or die('Could not bind to address');
// прослушиваем соединения
socket_listen($sock);
//зацикливаем соединение
while (true) {
//принемаем соединения на сокете и пишем в массив ресурсы
for ($i = 0; $i < $max_clients; $i++){
if ((!isset($client[$i]['sock']))||($client[$i]['sock'] == null)){
$client[$i]['sock'] = socket_accept($sock);
break;
}
}
//ждем сообщения на сокетах
for($i=0;$i<$max_clients; $i++){
if((isset($client[$i]['sock']))&&($client[$i]['sock'] != null)){
if (false === ($buf = socket_read($client[$i]['sock'], 2048, PHP_NORMAL_READ))) {
echo "socket_read() failed: reason: " . socket_strerror($ret) . "\n";
break 3;
}
$buf=trim($buf);
if ($buf == 'quit') {
socket_close($client[$i]['sock']);
unset($client[$i]);
}
if ($buf == 'shutdown') {
break 2;
}
if($buf!=""){
$talkback = "[".date("h:m")."] $buf<br>".chr(0);
echo $talkback;
for($j=0;$j<$max_clients; $j++){
if((isset($client[$j]))&&($client[$j]['sock'] != null)){
$stat=socket_write($client[$j]['sock'], $talkback, strlen($talkback));
while($stat==false){
socket_write($client[$j]['sock'], $talkback, strlen($talkback));
}
}
}
}
}
}
}
//закрываем главный сокет
socket_close($sock);
?>
Вложения
http://flasher.ru/forum/attachment.php?s=
НУ скачал я этот чат, забросил в папочку 127.0.0.1/www , запустил сервер -> чат не работает , нет соединения!!!!
Что делать?