Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2014, 16:56   #1
tocsik
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 39
По умолчанию Помогите найти ошибку в скрипте

Вот код:
PHP код:
#!usr\bin\php -q
<?php

echo "point0";

error_reporting(E_ALL);

/* Позволяет скрипту ожидать соединения бесконечно. */
set_time_limit(0);

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

$address '127.0.0.1';
$port 10000;

echo 
"point1";

if ((
$sock socket_create(AF_INETSOCK_STREAMSOL_TCP)) === false) {
    echo 
"Не удалось выполнить socket_create(): причина: " socket_strerror(socket_last_error()) . "\n";
}

echo 
"point2";

if (
socket_bind($sock$address$port) === false) {
    echo 
"Не удалось выполнить socket_bind(): причина: " socket_strerror(socket_last_error($sock)) . "\n";
}

echo 
"point3";

if (
socket_listen($sock5) === false) {
    echo 
"Не удалось выполнить socket_listen(): причина: " socket_strerror(socket_last_error($sock)) . "\n";
}

echo 
"Cтарт\n";

do {
    if ((
$msgsock socket_accept($sock)) === false) {
        echo 
"Не удалось выполнить socket_accept(): причина: " socket_strerror(socket_last_error($sock)) . "\n";
        break;
    }
    
/* Отправляем инструкции. */
    
$msg "\nДобро пожаловать на тестовый сервер PHP. \n" .
        
"Чтобы отключиться, наберите 'выход'. Чтобы выключить сервер, наберите 'выключение'.\n";
    
socket_write($msgsock$msgstrlen($msg));

    do {
        if (
false === ($buf socket_read($msgsock2048PHP_NORMAL_READ))) {
            echo 
"Не удалось выполнить socket_read(): причина: " socket_strerror(socket_last_error($msgsock)) . "\n";
            break 
2;
        }
        if (!
$buf trim($buf)) {
            continue;
        }
        if (
$buf == 'выход') {
            break;
        }
        if (
$buf == 'выключение') {
            
socket_close($msgsock);
            break 
2;
        }
        
$talkback "PHP: Вы сказали '$buf'.\n";
        
socket_write($msgsock$talkbackstrlen($talkback));
        echo 
"$buf\n";
    } while (
true);
    
socket_close($msgsock);
} while (
true);

socket_close($sock);
?>
Вот результат:
Как видите, point3 нету. В чем ошибка? Выполняю на своем, возможно, криво поставленном сервере.

Последний раз редактировалось tocsik; 31.05.2014 в 09:07.
tocsik вне форума Ответить с цитированием
Старый 30.05.2014, 17:17   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Цитата:
Как видите, point3 нету
Ну, мы как бы не видим. Ваш localhost - это только Ваш localhost.
ATL вне форума Ответить с цитированием
Старый 31.05.2014, 09:07   #3
tocsik
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 39
По умолчанию

Пардон, вот результат:
Цитата:
#!usr\bin\php -q point0point1
Поторопился
tocsik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку на СИ) Nazar0135 Помощь студентам 0 01.03.2014 13:45
Помогите найти ошибку - StrToFloat выдаёт ошибку EConvertError для ячеек StringGrid (Delphi) Artsiom Помощь студентам 10 18.12.2013 14:10
Нужно исправить ошибку в скрипте Anonymnick PHP 2 29.08.2012 16:57
Не могу найти ошибку в скрипте WarAngel.alk PHP 10 23.09.2011 18:40
Не могу найти ошибку в скрипте авторизации Revival001 PHP 8 26.06.2009 10:57