Proxy Wrapper: Оцените программку (proxy example socket)
Ключевые слова: proxy, example, socket, (найти похожие документы)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Alexei Yesipenko 2:5061/109.61 18 Jun 99 09:34:54
Subj : Proxy Wrapper: Оцените программку
________________________________________________________________________________
Hello All.
Хочу услышать ваше мнение по поводу первой моей программки под Unix.
Ситуация такая: имеется proxy c выходом в инет; имеется машинка
под Linux box, которой позволено ходить на proxy;
Цель программы: программа должна позволять хождение с моей машины
(Win95) в инет, с использованием IE или NN, при
условии если я имею логин на машину с Linuxом.
Перенаправление пакетов через ядро реализовать нельзя, т.к. ядро
старое - 2.0.30.
Вот собственно, какую программку я для этого придумал.
At 18 Jun 99 09:34:54, Alexei Yesipenko wrote to All:
AY> Правильно ли я избавляюсь от зомби?
Вообще-то говоря, совсем правильно было бы повесить следующий обработчик на
SIGCHLD :
void KillZombies (int)
{
int Status;
waitpid (-1, &Status, WHOHANG);
signal (SIGCHLD, KillZombies);
}
AY> При работе с IE иногда вылетает странная ошибка:
AY> call accept() error: Connection reset by peer
С чьей стороны ? IE или твоей программы ?
AY> Как правильно и проще закрывать порты при Ctrl-C?
Повесить обработчик на SIGINT.
> [KILL THE YANKEE TEAM] [Team 5 колонну давить]
--- QDed beta v1.3 under FreeBSD 3.1-STABLE
* Origin: Взялся за гуж - полезай в кузов... (2:5025/3.4)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Michael Kondrashin 2:5020/128 24 Jun 99 13:00:02
Subj : Re: Proxy Wrapper: Оцените программку
________________________________________________________________________________
From: aplog@corbina.ru (Michael Kondrashin)
> > Плохо. Hекотоpые системы (не буду упоминать) стpадают тем, что могут выдать
> > положительный pезультат по select() и затем заблокиpовать recv(). Так что
> > безусловно лучше даже пpи select'е пользовать NONBLOCK.
>
Hадо попробывать сформулировать здесь "идеальный" цикл для этой задачи.
Всем кто может чего-либо посоветовать: подправте и опубликуйте.
Мой вариант:
Здесь не хватает
-учета продлемы поднятой в цитате
-send то же может быть заблокирован.
-Что еще?
--- ifmail v.2.10dev
* Origin: Applied Logistics (2:5020/128@fidonet)
Вообще то, это не критично.
Меня другая проблема интересует. Как корректно выйти из этой программки?
Shutdown с последующим close не работает.
Если был хоть один коннект со стороны клиента, то последующий запуск
сервера (после Ctrl-C) вылетает c ошибкой bind(), что данный сокет
уже используется.
Хотя это тоже не критично, секунд через 30 сокет сам освобождается,
но хотелось бы знать как это в принципе работает.
И еще. А есть ли книга или faq типа "Программирование под UNIX для
программистов под DOS"?
В Unixe прекрасный инструментарий, например strace.
WBR, Alexei.
---
* Origin: -= YesAl station =- (FidoNet 2:5061/109.61)