Показать сообщение отдельно

  #9262  
Старый 08.03.2009, 12:43
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

imajo.ati Смотря как именно реализовано. Следующий код у меня нормально работает и на винде и на никсах
PHP код:
#!/usr/local/bin/php
<?php
$port 
9050;
$sock stream_socket_server('tcp://0.0.0.0:'.intval($port), $errno$errstr);
$clients = array($sock);

while (
true
{
 
$read $clients;
 if (
stream_select($read$write NULL$except NULL5) < 1)
 continue;

 if (
in_array($sock$read)) 
 {
  
$clients[] = $newsock stream_socket_accept($sock);
  
fwrite($newsock"Welcome to server\r\n");
  
$ip stream_socket_get_name($newsocktrue);
  echo 
"New client connected: {$ip}\n";
  
$key array_search($sock$read);
  unset(
$read[$key]);
 }

 foreach (
$read as $read_sock
 {
  
$data = @fgets($read_sock1024);
  if (
$data === false
  {
   
$key array_search($read_sock$clients);
   unset(
$clients[$key]);
   echo 
"client disconnected.\n";
   continue;
  }

  
$data trim($data);

  if (!empty(
$data)) {
   foreach (
$clients as $send_sock
   {
    if (
$send_sock == $sock || $send_sock == $read_sock)
    continue;

    
fwrite($send_sock$data."\r\n");
   }
  }
 } 
}
fclose($sock);
?>
 
Ответить с цитированием