powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl и сокеты, проблема с выводом в браузер
10 сообщений из 10, страница 1 из 1
Perl и сокеты, проблема с выводом в браузер
    #38512539
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста по коду. Хочу написать примитивнейший скрипт, который открывает допустим 3030 порт, получает откуда-то извне хтмл и отображает его в браузер человеку. Но не получается - так код выводит контент бесконечно. Ежели убрать цикл while, то не выводит вообще. В чем может быть проблема?

Код: ruby
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
#Perl
use 5.010;
use warnings;
use strict;
use Socket;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new(agent=>"Perl browser");
my $content = $ua->get("http://kuraev.ru/smf/")->content;

my $port = 3030;
$port = getservbyname($port,'tcp') if $port =~ /\D/;
	die "Invalid port" unless $port;
socket(S,PF_INET,SOCK_STREAM,0) || die "socket: $!";
	say "socket good";
setsockopt(S,SOL_SOCKET,SO_REUSEADDR,pack('l',1)) || die "setsockopt: $!";
	say "setsockopt good";
bind(S,sockaddr_in($port,INADDR_ANY)) or die ("bind $!");
	say "bind good";
listen(S,SOMAXCONN) or die("listen $!");
	say "listen good";
select(STDOUT);
for ( ; accept(S1,S); close(S1))
{
say "accept good";
while(1)
	{
	#$tmp = send(S1,$content,0) or die ("send $!");
	print S1 $content;
	#sleep(5);
	#last;
	#shutdown(S1,1);
	}
}

sub file_get_contents 
{ 
  my ($filename) = @_; 
  open IN, "<", $filename or return undef; 
  my @all = <IN>; 
  close IN; 
   
  my $res = join("", @all); 
  return $res; 
}
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38513006
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10 раз перечитал ваш вопрос, так и не понял, что вы хотите.

Зачем открывать порт, если надо выдать данные в браузер?!
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38513335
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он проксю строит. Но зачем - вопрос открытый.
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38513576
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтоб с работы вконтакт/одноквасники/прочее лазить...
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38513670
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я хочу написать примитивнейший прокси. Цель тут одна - есть проект, на котором какие-то мистические глюки по части сетей (не суть важно что). Никто из сисадминов не может толком понять, что к чему. Я хочу методом исключения, найти где ошибка - в веб сервере, базе данных, или сам сервер глючный. Поэтому нужно приложение, которое в обход апача/энжинкс выведет людям что нибудь в браузер. Как такое сделать? Или может есть готовый код для такой ерунды, мне не обязательно чтобы контент брался с внешнего сайта, да хоть с файла или генерировал мусорную строку , лишь бы в обход веб сервера, открыл сокет и вывел юзеру чего-нибудь.
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38514059
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot,

так готовые ж есть, зачем велик изобретать ?
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38514064
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artas, тогда подскажите какое-то готовое решение; чтоб было достаточно простое и не требовало левых библиотек и т.д. Я не линуксоид, мне просто надо проверить работу сети в обход апачей.
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38514170
Electric200
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ тоже не понял суть идеи. В обход веб сервера , базы данных. Какой то кламбур выходит.
В обход веб сервера выведет что то в браузер с файла или внешнего источника? .
Если с файла, создайте html файл у себя на компе и откройте браузером.
Если с удаленного ресурса по HTTP, то на том ресурсе должен быть веб сервер. что бы обработать входящий HTTP запрос к примеру на 80 порт. Если просто проверить сокетное соединение между серверами то, с стороны сервера можно на чем угодно написать listener порта, куда будет подключатся клиент. Главное, что бы это было демон.
Вообще печально, что вы проверяет логику работы базы данных и веб сервера вот таким вот способом. Ведь все можно проверить локально. Но для начала опишите проблему более подробно.
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38514225
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgotнадо проверить работу сети в обход апачей.Это... как? Ну, вместо апача можно какой-то другой вебсервер поднять, lighttpd, например. Если хочется именно на перле - нечто вроде тынца гуглится за минуту...
...
Рейтинг: 0 / 0
Perl и сокеты, проблема с выводом в браузер
    #38514414
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot,

гугл в помощь, первое что нашел

https://code.google.com/p/python-proxy/
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl и сокеты, проблема с выводом в браузер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]