Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Cannot break/continue 1 level

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
NevO
Отправлено: 16 Ноября, 2010 - 21:31:14
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




При выполнении скрипта получаю ошибку:
Cannot break/continue 1 level

PHP:
скопировать код в буфер обмена
  1. do {
  2.             echo 'Accept socket ... ';
  3.             if (($msgsock = socket_accept($sock)) < 0) {
  4.                 throw new Exception('socket_accept() failed: '.socket_strerror(socket_last_error())."\n");
  5.             } else {
  6.                 echo "OK\n";
  7.             }
  8.            
  9.             $msg = "Hello, Client!";
  10.             echo "Say to client ($msg) ... ";
  11.             socket_write($msgsock, $msg, strlen($msg));
  12.             echo "OK\n";
  13.  
  14.             do {
  15.            
  16.                 echo 'Client said: ';
  17.                 if (false === ($buf = socket_read($msgsock, 1024))) {
  18.                     throw new Exception('socket_read() failed: '.socket_strerror(socket_last_error())."\n");
  19.                 } else {
  20.                     echo $buf."\n";
  21.                 }
  22.                
  23.                 if (!$buf = trim($buf)) {
  24.                     continue;
  25.                 }
  26.                
  27.                 if ($buf == 'shutdown') {
  28.                     socket_close($msgsock);
  29.                     break 2;
  30.                 }
  31.                
  32.                 echo "Say to client ($buf) ... ";
  33.                 socket_write($msgsock, $buf, strlen($buf));
  34.                 echo "OK\n";
  35.                
  36.             } while (true);
  37.            
  38.         } while (true);

вот кусок кода на котором происходит ошибка. Ошибка происходит
PHP:
скопировать код в буфер обмена
  1.                 if (!$buf = trim($buf)) {
  2.                     continue;
  3.                 }

при выполнении команды


В чем может быть проблема?
 
 Top
OrmaJever Модератор
Отправлено: 16 Ноября, 2010 - 22:22:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)





Не понял Ух ты ничево_сибе условие. В чём логика такого условия?
continue не может выполнится в первом проходе цылка do-while. Потому что первый проход в этой конструкции даже не является цыклом. continue/break работают только в цыклах. Есл поставить их посредине скрипта выдаст чтото подобное. я бы посоветовал использовать цыкл while.
ЗЫ. я бы на вашем месте пересмотрел условие Подмигивание

(Отредактировано автором: 16 Ноября, 2010 - 22:25:44)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
NevO
Отправлено: 17 Ноября, 2010 - 06:19:27
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




OrmaJever пишет:
Не понял Ух ты ничево_сибе условие. В чём логика такого условия?
continue не может выполнится в первом проходе цылка do-while. Потому что первый проход в этой конструкции даже не является цыклом. continue/break работают только в цыклах. Есл поставить их посредине скрипта выдаст чтото подобное. я бы посоветовал использовать цыкл while.
ЗЫ. я бы на вашем месте пересмотрел условие Подмигивание


Скрипт брал здесь http://i-novice[dot]net/sokety-v-php/
установил пример и хотел посмотреть на его работу.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB