русский
Germany.ruForen → Архив Досок→ Programmierung

TCP изнутри

04.04.07 10:34
Re: TCP изнутри
 
VseNikiZanyati гость
in Antwort Murr 03.04.07 20:17
> Есть ли возможножность, при получении запроса на соединение TCP, определить IP адрес и номер порта (для идентификации клиента), и если нужно, то впоследствии отклонить запрос на это соединение используя сокеты под линуксом?
Я работаю сеи4ас косвенно (4ерез интерфеис классов) с библиотекои WinSock - 4аст этои библиотеки составляут стандартние socket-и, поетому думаю, 4то ответ будет актуален и для Unix:
> при получении запроса на соединение TCP
Полу4ат будет однозна4но Сервер, а по сему: после визова функции "listen" - прослушивание порта Сервером, предварително свызав его зестко функцией "bind", будет визвана функция "accept", которая 2-м виходним параметром имеет указател на структуру, где будет информация о подклю4ившемся клиенте (IP + Port). Функция "accept" создает ес4о один сокет и возврас4ает на него ссилку, а исходни сокет (котори при помос4и "bind" бил с портом связан) остается далше прослушиват порт.
> впоследствии отклонить запрос на это соединение
Ессесно, просто проверяеш (в зависимости от условий) "хороши" клиент - работаем с ним, "плохои" клиент - закриваем socket, котори бил создан при помос4и "accept": сна4ала функция "shutdown" а потом "closesocket".
А вообс4е по4итай следуюс4ее:
1) http://delphikingdom.ru/asp/viewitem.asp?catalogid=1021
2) http://book.itep.ru/7/sock_71.htm
 

Sprung zu