Автор Тема: RECV + SOket  (Прочитано 8190 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RECV + SOket
« : 28 Июля 2004, 01:48:52 »
Не подскажите как пользоваться функцией recv??? Она мне нужна для получения сообщений от сервера???
Заранее благодарен

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
RECV + SOket
« Ответ #1 : 28 Июля 2004, 11:46:54 »
После создания сокета ты можешь получить сообщение созданное клиентом через recv() метод.
$Socket->recv($text,128);
print "Получено сообщение: $text \\n";
первый аргумент - собственно ответ а второй - количество байт которые сервер может принять.
The documentations is your friend

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RECV + SOket
« Ответ #2 : 28 Июля 2004, 12:54:47 »
А если второй аргумент опустить?!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
RECV + SOket
« Ответ #3 : 28 Июля 2004, 13:14:06 »
DrumSe знаеш анегдот про попугая и веревку?
а если в команде print сделать 3 ошибки?!
The documentations is your friend

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RECV + SOket
« Ответ #4 : 29 Июля 2004, 01:12:25 »
ыыыыыыыыыыыыыыыы
понял...

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RECV + SOket
« Ответ #5 : 29 Июля 2004, 01:35:19 »
Проблемка маленькая оталась....
Ввожу команду
help
Пишет
Comand \' \' not understood;
ENTER
и весь хелп выводит?!

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RECV + SOket
« Ответ #6 : 02 Августа 2004, 23:39:45 »
Кто-нибудь знает?!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
RECV + SOket
« Ответ #7 : 03 Августа 2004, 00:19:54 »
DrumSe telepatov.net
Где ты ее вводишь?
The documentations is your friend

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RECV + SOket
« Ответ #8 : 03 Августа 2004, 00:25:19 »
запуская скрипт и там ввожу...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
RECV + SOket
« Ответ #9 : 03 Августа 2004, 00:37:26 »
Капец... Мне можно начинать угадывать что за скрипт ты запускаешь?
The documentations is your friend

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
RECV + SOket
« Ответ #10 : 03 Августа 2004, 09:47:36 »
NeoNox
Пора записаться на тренининг телепатических способностей... ;)
And no religion too...

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RECV + SOket
« Ответ #11 : 03 Августа 2004, 17:08:50 »
#!/usr/bin/perl -w
use Socket;
$str = @ARGV;
if ($str != "2")
{
print "usage: inet.pl adress port\\n";
}
$host=$ARGV[0];
$port=$ARGV[1];


socket($server, PF_INET, SOCK_STREAM, getprotobyname(\'tcp\'));
$inet_addr = inet_aton($host);
$paddr = sockaddr_in($port, $inet_addr);
connect($server,$paddr) || die "Error while connecting:$!\\n";
select((select($server), $| = 1)[0]);
print "Connection established, maybe\\n";
while (1)
{
   print "Enter a command:\\n";
   $cmd = ;
   chomp $cmd;
   print $server "$cmd\\n";
   recv($server,$text,500,0);
   print $text;
   
   
}
close ($server);

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
RECV + SOket
« Ответ #12 : 03 Августа 2004, 18:59:02 »
DrumSe а теперь, пожалуйста, прокомментируй каждую строчку этого скрипта.
The documentations is your friend

Оффлайн DrumSe

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RECV + SOket
« Ответ #13 : 04 Августа 2004, 17:48:15 »
#!/usr/bin/perl -w
use Socket;
$str = @ARGV;
if ($str != "2") #если аргументы полученные из командной строки не равны 2 то пишем ошибку
{
print "usage: inet.pl adress port\\n";
}
$host=$ARGV[0];
$port=$ARGV[1];


socket($server, PF_INET, SOCK_STREAM, getprotobyname(\'tcp\')); #СОздаем сокет
$inet_addr = inet_aton($host);
$paddr = sockaddr_in($port, $inet_addr);
connect($server,$paddr) || die "Error while connecting:$!\\n";
select((select($server), $| = 1)[0]); # вкл. буферезацию
print "Connection established, maybe\\n";
# А теперь вводим команды:
while (1)
{
print "Enter a command:\\n";
$cmd = ;
chomp $cmd;
print $server "$cmd\\n";
recv($server,$text,500,0);
print $text;


}
close ($server);#закрываем сокет

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
RECV + SOket
« Ответ #14 : 04 Августа 2004, 18:48:51 »
Цитировать
DrumSe:
select((select($server), $| = 1)[0]); # вкл. буферезацию

выкл. а не вкл.

и что дальше ты делаешь?

запусти как
./inet.pl forums.webscript.ru 80
и введи команду:
GET / HTTP/1.0
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28