Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.15;
Скачать: CL | DM;

Вниз

TTcpServer и TUdpSocket блокируют порт   Найти похожие ветки 

 
Andrei   (2006-12-06 15:43) [0]

Здраствуйте!
Я являюсь админом одного игрового сервера. К сожалению игрушка не передает IP игроков и в ней нет возможности бана.
В связи с огромным наплывом читеров возникла необходимость бана именно по IP. Через файрвол это очень гемморойно, поэтому попытался сам наваять прогу в Дельфях7. С Делфи знаком довольно давно, но именно сетевых приложений не писал ни разу.
Итак: само описание проблемы.
Делфи 7.
Игрушка для связи использует 2 протокола - TCP\IP и UDP. Соответственно, для прослушивание порта используем 2 компонента из стандартных в Делфи7 - TTcpServer и TUdpSocket. Назначаем им хост и порт и вот тут начинаются проблемы. Такое впечатление, что при активации этих компонентов они блокируют порт. Т.е. При запуске сначала программы, а потом игрушки, игрушка не может запустить сервер(при этом программа может получать пакеты от клиентов). Если запустили сначала игрушку, а затем программу - программа ничего не принимает, хотя клиенты на сервер игрушки коннектятся вполне спокойно, т.е. идет активный обмен пакетами.
Установка BlockMode в bmNonBlocking в обоих компонентах ситуацию не исправило :(
Кроме того, возникает необходимость смотреть не только те пакеты которые поступают серверу, но и те, которые сервер пересылает клиенту.
Подскажите, пожалуйста, как можно спокойно слушать порт не мешая при этом приложению.
Если такая тема была - дайте пожалуйста ссылку, если для этого нужны нестандартные компоненты - подскажите где их можно скачать.
Если не сложно - продублируйте ответ на hawk1[собака]inbox.ru


 
Dmitrij_K   (2006-12-06 16:01) [1]

Естеснно если один сервер занял порт, то другой отдыхает.
Есть библиотека Indy  www.indyproject.org В ней есть компонент TIdMappedPortTCP
его можно настроить чтобы конектились к нему, а он уже перенаправлял соединение на реальный сервер, фильтровать ip можно (в onConnect проверка и килять), на счет изменения данных не знаю.


 
DVM ©   (2006-12-06 16:20) [2]


> Через файрвол это очень гемморойно,

Напиши интерфейс к файерволлу.


 
Сергей М. ©   (2006-12-07 09:22) [3]


> Andrei


А что, игровое приложение-сервер не допускает изменение номеров своих слушающих портов ?


 
Дмитрий Белькевич ©   (2006-12-14 02:48) [4]

Может имеет смысл файрволл нормальный найти? Их есть.



Страницы: 1 вся ветка

Текущий архив: 2007.07.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
15-1181874194
Slider007
2007-06-15 06:23
2007.07.15
С днем рождения ! 15 июня 2007 пятница


15-1181983506
Сатир
2007-06-16 12:45
2007.07.15
Как из экзешника запустить батник?


3-1176905016
Sergey5
2007-04-18 18:03
2007.07.15
Неверное число записей возвращает запрос


15-1182098306
Kolan
2007-06-17 20:38
2007.07.15
Какая у вас версия D2007


15-1182216074
linzaolog
2007-06-19 05:21
2007.07.15
вокруг света на одном ролике