За последние 24 часа нас посетили 22216 программистов и 1157 роботов. Сейчас ищут 795 программистов ...

сокеты для irc

Тема в разделе "Прочие вопросы по PHP", создана пользователем fankiss, 27 фев 2006.

  1. fankiss

    fankiss Активный пользователь

    С нами с:
    27 фев 2006
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Ижевск
    Хочу написать irc бота на php.
    Вот начало:
    <?php
    echo "GothServ: servis starting:\n";
    echo "GothServ: geting parameters...";

    $configs = file('./config.ini');
    $nick = $configs[0];
    $name = $configs[1];
    $pass = $configs[2];
    $server = $configs[3];
    $admin = $configs[4];
    $admin_ip = $configs[5];
    $chanel = "goth";

    echo "ok\n";
    echo "GothServ: connecting to IRC server...";
    $fp = fsockopen($server, 6667, $errno, $errstr,60);
    $flag=0;
    while (!$flag && !feof($fp))
    {
    $line=fgets ($fp);
    echo $line . "\n";
    if (preg_match("/\bFound\syour\shostname\b/", $line))
    {
    $flag=1;
    }
    }
    fputs ($fp, sprintf ("USER %s \"%s\" \"%s\" :%s\n", "GothServ", "a217-29-187-245.pppoe.mark-itt.net", "217.29.187.245", "GothServ"));
    fputs ($fp, sprintf ("NICK %s\n", "GothServ"));
    while (!$flag && !feof($fp))
    {
    $line=fgets ($fp);
    echo $line . "\n";
    if (preg_match("/\b700\b/", $line))
    {
    $flag=1;
    }
    }
    fputs ($fp, "JOIN " . $chanel . "\n");
    fputs ($fp, "MODE " . $chanel . "\n");
    $flag=0;
    while (!$flag && !feof($fp))
    {
    $line=fgets($fp);
    echo $line . "\n";
    $ping='/^(PING)\b/';
    if (preg_match($ping, $line))
    {
    fputs ($fp, "PONG :" . $server . "\n");
    }
    }
    ?>

    Этот текст, компилирую в *.exe и запускаю на вин 98.
    Программа выдает несколько пустых строк и завершается.

    Подскажите пожалуйста, что не так?
     
  2. wolandino

    wolandino Активный пользователь

    С нами с:
    5 фев 2006
    Сообщения:
    193
    Симпатии:
    0
    Адрес:
    Россия, Астрахань
    простите.. не понимаю
     
  3. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    :shock: :D
     
  4. fankiss

    fankiss Активный пользователь

    С нами с:
    27 фев 2006
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Ижевск
    А что тут непонятного? Есть куча компиляторов для *.php в *.exe, под вин. Вы мне лучше скажите, где в коде ошибка? :)
     
  5. wolandino

    wolandino Активный пользователь

    С нами с:
    5 фев 2006
    Сообщения:
    193
    Симпатии:
    0
    Адрес:
    Россия, Астрахань
    fankiss
    а зачем вы это делаете? если приложение ориентировано на вин-платформу, так и пишите его в более приспособенной для этого среде...

    интересный вопрос задаете - найдите мне ошибку)
    хотя бы выделили код соответствующим образом