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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Jun 2005
Сообщений: 367
По умолчанию опять сокеты, где не прав?

скрипт и флэшка в зипе... проблема такая, запускаем скрипт, запускаем флешку, отправляем первое сообщение, отправляется... отправляем второе сообщение, не приходит обратно... запускаем во второе окошко флешку, приходит сообщение из первого окна которое не отобразилось, отправляем сообщение,возвращается, а после этого все... тишина...
если лень архив качать, код тут
PHP код:
<?php

$address 
'127.0.0.1';
$port 5190;
$max_clients 100;

// массив клиентов
$client = Array();
//массив ожидания чтения из сокетов
$read=Array();

// создаем сокет
$sock socket_create(AF_INETSOCK_STREAM0);
// связываем имя с сокетом
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'], 2048PHP_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'], $talkbackstrlen($talkback));
                                                while(
$stat==false){
                                                        
socket_write($client[$j]['sock'], $talkbackstrlen($talkback));
                                                }
                                        }
                                }
                        }
                }
        }
}
//закрываем главный сокет
socket_close($sock);
?>
Вложения
Тип файла: zip www.zip (8.0 Кб, 100 просмотров)

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

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

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


 


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


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