Старый 07.03.2011, 02:44   #31
dpe_x
 
Аватар для dpe_x
 
Регистрация: 21.02.2011
Сообщений: 4
Репутация: 0
По умолчанию

Цитата:
$sender, $message, $is_away
Где ?
dpe_x вне форума   Ответить с цитированием
Старый 07.03.2011, 10:03   #32
SHok
 
Аватар для SHok
 
Регистрация: 04.01.2011
Сообщений: 4
Репутация: 0
По умолчанию

Цитата:
Сообщение от dpe_x Посмотреть сообщение
Где ?
Ты о чём ?
Переменные какбы в массиве.
А скрипт это по сути пример взятый из документацыи модуля Net::OSCAR.
SHok вне форума   Ответить с цитированием
Старый 07.03.2011, 11:15   #33
dpe_x
 
Аватар для dpe_x
 
Регистрация: 21.02.2011
Сообщений: 4
Репутация: 0
По умолчанию

Цитата:
Переменные какбы в массиве.
как бы у тебя и ничего не проиходит , потому что эти переменные пустые..
dpe_x вне форума   Ответить с цитированием
Старый 07.03.2011, 11:30   #34
SHok
 
Аватар для SHok
 
Регистрация: 04.01.2011
Сообщений: 4
Репутация: 0
По умолчанию

Дак вот эта (im_in) функцыя виполняется по приходу
мессаги, а в массиве @_ передаётся информация о мессаге,отправитель и тп,
я их пишу в отдельные переменные, ну и потом вывожу в STDIN, но когда я
отправляю мессагу на этот номерок (на котором бот седит) нечего не происходит =\
Исходя из этого можно сказать что сообщения боту не приходят, вопрос : Почему ?
SHok вне форума   Ответить с цитированием
Старый 07.03.2011, 11:43   #35
dpe_x
 
Аватар для dpe_x
 
Регистрация: 21.02.2011
Сообщений: 4
Репутация: 0
По умолчанию

мож бот твой не в сети просто..

попробуй так .

$oscar->signon(353567373, "Password") or die("Login failed\n"); //авторизации
$quit = 0;

while(!$quit) { $oscar->do_one_loop(); }
dpe_x вне форума   Ответить с цитированием
Старый 22.06.2011, 22:42   #36
vince
 
Аватар для vince
 
Регистрация: 03.10.2010
Сообщений: 29
Репутация: 0
По умолчанию

Код:
#!/usr/bin/perl

use Socket;

socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));

setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1);

$server_port = 5050;
$headers = "HTTP/1.1 200 OK\r\n"
            . "Server: FakeServer/2011-06-23\r\n"
            . "Content-Type: text/html\r\n"
            . "Connection: close\r\n\r\n";
$my_addr = sockaddr_in($server_port, INADDR_ANY);
bind(SERVER, $my_addr) or die 'Could not bind port..';
listen(SERVER, SOMAXCONN) or die 'listen error';
while(accept(CLIENT, SERVER)) {
  print CLIENT $headers;
  print CLIENT '<h1>Hello man! :)</h1>';
}

close(SERVER);
вообщем если к этому конектится в браузере 127.0.0.1:5050 ничерта не происходит, есть у кого идеи что б все это хоть чутка работало, в чем может быть ошибка.. телнетом конектится
vince вне форума   Ответить с цитированием
Старый 23.06.2011, 00:59   #37
.Slip
 
Аватар для .Slip
 
Регистрация: 30.06.2010
Сообщений: 49
По умолчанию

Цитата:
Сообщение от vince Посмотреть сообщение
Код:
#!/usr/bin/perl

use Socket;

socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));

setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1);

$server_port = 5050;
$headers = "HTTP/1.1 200 OK\r\n"
            . "Server: FakeServer/2011-06-23\r\n"
            . "Content-Type: text/html\r\n"
            . "Connection: close\r\n\r\n";
$my_addr = sockaddr_in($server_port, INADDR_ANY);
bind(SERVER, $my_addr) or die 'Could not bind port..';
listen(SERVER, SOMAXCONN) or die 'listen error';
while(accept(CLIENT, SERVER)) {
  print CLIENT $headers;
  print CLIENT '<h1>Hello man! :)</h1>';
}

close(SERVER);
вообщем если к этому конектится в браузере 127.0.0.1:5050 ничерта не происходит, есть у кого идеи что б все это хоть чутка работало, в чем может быть ошибка.. телнетом конектится
Браузер как бы просит завершения.
Код:
#!/usr/bin/perl

use Socket;

socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));

setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1);

$server_port = 5050;
$headers = "HTTP/1.1 200 OK\r\n"
            . "Server: FakeServer/2011-06-23\r\n"
            . "Content-Type: text/html\r\n"
            . "Connection: close\r\n\r\n";
$my_addr = sockaddr_in($server_port, INADDR_ANY);
bind(SERVER, $my_addr) or die 'Could not bind port..';
listen(SERVER, SOMAXCONN) or die 'listen error';
accept(CLIENT, SERVER);
print CLIENT $headers;
print CLIENT '<h1>Hello man! :)</h1>';

close(SERVER);
Код:
GET / HTTP/1.1
Host: localhost:5050
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

HTTP/1.1 200 OK
Server: FakeServer/2011-06-23
Content-Type: text/html
Connection: close
.Slip вне форума   Ответить с цитированием
Старый 23.06.2011, 08:38   #38
vince
 
Аватар для vince
 
Регистрация: 03.10.2010
Сообщений: 29
Репутация: 0
По умолчанию

to .Slip спасибо мэн, я пользовался книгой Perl сборник рецептов, и немного по протоколу http почитал, прост теперь возникает вопрос, в каких ситуациях использовать цикл, и опчему здесь он был не уместен? к тому же после первого обращения к "серверру" он ьтдает данные, и завершает свою работу.. а хотелось бы что б он постоянно слушал порт и при обращении выдавал нужные данные, в данном примере строку
vince вне форума   Ответить с цитированием
Старый 23.06.2011, 16:17   #39
.Slip
 
Аватар для .Slip
 
Регистрация: 30.06.2010
Сообщений: 49
По умолчанию

>> и опчему здесь он был не уместен?
Не уместен потому что цикл не отпускал соединение, и браузер думал что данные ещё идут. Соответственно вывода небыло.
Если по хорошему, то нужно делать примерно так:
Код:
bind SERVER, $my_addr or die $!;
listen SERVER, SOMAXCONN or die $!;
while(accept CLIENT, SERVER){ senddata(CLIENT); }
sub senddata{
  syswrite $_[0], $headers, length($headers), 0;
  syswrite $_[0], "lol", 3;
  close $_[0];
}
И кстати, в таких делах не пользуйся print, ибо это аналог send, а это буферизированный вывод данных, могут быть большие проблемы. Используй syswrite/sysread, они не используют буферы системы ввода/вывода stdio.

Последний раз редактировалось .Slip; 23.06.2011 в 16:59.. Причина: опечатка
.Slip вне форума   Ответить с цитированием
Старый 24.06.2011, 16:48   #40
obey
 
Регистрация: 17.07.2010
Сообщений: 5
Репутация: 0
По умолчанию

Большие проблемы какого рода? С примером или объяснением, пожалуйста.
obey вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot