Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > XML

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 21.05.2003, 02:43
VERTAL вне форума Посмотреть профиль Отправить личное сообщение для VERTAL Посетить домашнюю страницу VERTAL Найти все сообщения от VERTAL
  № 1  
VERTAL

Регистрация: Feb 2003
Сообщений: 21
Отправить сообщение для VERTAL с помощью ICQ
По умолчанию о сокет-сервере

Всем знатокам PHP большая просьба найдите ошибку
Делаю во FLASH интерактивное приложение типа чат надо написать сокет-сервер
Практически все готово только не могу понять где ошибка
Помогите пожалуйста Почта vertalm@hotmail.com

<?
header("Content-type: text/xml");
function check ( $value, $function )
{
if( $value>=0)
print( "\n<br/>function [ $function ] returns $value.(success)");
else
die ( "\n<br/>function [ $function ] returns $value.
(<I><B>FAILURE:</B></I> --".strerror($value)."---)" );
superflush();
}

function superflush()
{
for($i=3;$i;$i--){
for($j=5;$j;$j--)
print(" ");
flush();
}
}

function closedown()
{
global $port, $listener, $guests;
echo "<release> Freeing Port $port and this list:<br/>";
echo "Listening Socket ".$listener."<br/>";
for( $i=0;$i<count($guests); $i++){
echo "Client Socket ".$guests[$i]."<br/>";
close( $guests[$i] );
}
echo "</release>";
superflush();
}


register_shutdown_function("closedown" );
$address=gethostbyname ($SERVER_NAME);
$port=19638;
$maxport=19648;
$guests=array();
$welcome="<WELCOME>Wwlcome to our little party</WELCOME>";
check( $listener=socket_create (AF_INET, SOCK_STREAM,0), "socket");
while(($errno=socket_bind($listener,$address))<0)
if( ++$port>$maxport)
die("<error>Tried up to $port".strerror( $errno )."</error>");
else
echo("<try>".strerror($errno)."] Try $port<br/></try>\n" );
print( "<port>$port</port>" );
superflush();

check( $ret= socket_listen( $listener, 5), "listen");
socket_set_nonblock( $listener );
do{
if(($newguest=socket_accept( $listener ))>0){
socket_write( $newguest,$welcome, strlen($welcome));
socket_set_nonblock($newguest);
array_push($guests,$newguest);
}

$bufs=array();
$buf="";
for($i=0;$i<count($guests);$i++)
if( socket_read( $guests[$i],$buf,48))
array_push( $bufs,"<msg>"
.strtoupper( strip_tags( $buf))."</msg>");

for($i=0;$i<count($guests);$i++)
for($b=0;$b<count($bufs);$b++)
$writeerr=socket_write($guests[$i],$bufs[$b],strlen($bufs[$b]));



sleep(1);
}while(!stristr($buf,"quit"));
closedown();

?>

если ктото знает как по другому сделать сокет-сервер
буду очень благодарен за подсказку

Создать новую тему   Часовой пояс GMT +4, время: 02:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:38.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.