Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Сокеты - проблема приема данных, Принимает только один символ. 
:(
    Опции темы
IZ@TOP
Дата 3.3.2005, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



выводит всего один символ, потом оставшиеся. В чем проблема?

Код

<?php
/* ------------------------------------------------------------------------------------------ //
// Сервер синхронизации данных.
// ------------------------------------------------------------------------------------------ */

error_reporting(E_ALL);


/* Разрешить скрипту зависнуть в ожидании соединений. */
set_time_limit (0);

/* Включить неявную очистку вывода, и мы увидим всё получаемое
* по мере поступления. */
ob_implicit_flush ();

$address = '192.168.1.32';
$port = 10000;

if (($sock = socket_create (AF_INET, SOCK_STREAM, 0)) < 0) {
   echo "socket_create() failed: reason: " . socket_strerror ($sock) . "\n";
}

if (($ret = socket_bind ($sock, $address, $port)) < 0) {
   echo "socket_bind() failed: reason: " . socket_strerror ($ret) . "\n";
}

if (($ret = socket_listen ($sock, 5)) < 0) {
   echo "socket_listen() failed: reason: " . socket_strerror ($ret) . "\n";
}

do {
   if (($msgsock = socket_accept($sock)) < 0) {
       echo "socket_accept() failed: reason: " . socket_strerror ($msgsock) . "\n";
       break;
   }

echo "Connected...";
flush();

   /* Отправить инструкции. */
   $msg = "\r\nWelcome to the PHP Test Server. \r\n" .
       "To quit, type 'quit'. To shut down the server type 'shutdown'.\r\n";
   socket_write($msgsock, $msg, strlen($msg));
   do {
       if (FALSE === ($buf = socket_read ($msgsock, 2048))) {
           echo "socket_read() failed: reason: " . socket_strerror ($ret) . "\n";
           break 2;
       }
       if (!$buf = trim ($buf)) {
           continue;
       }
       if ($buf == 'q') {
           break;
       }
       if ($buf == 's') {
           socket_close ($msgsock);
           break 2;
       }
       $talkback = "Your message: '$buf'";
       socket_write ($msgsock, $talkback, strlen ($talkback));
       echo "$buf\r\n";
 flush();
   } while (true);
   socket_close ($msgsock);
} while (true);

socket_close ($sock);
?>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
IZ@TOP
Дата 4.3.2005, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Тема не актуально. Это был глюк телнета.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Закрытая темаСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.