Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.066 c
2-1182073927
..::KraN::..
2007-06-17 13:52
2007.07.15
String to ANSI


11-1165397751
Don
2006-12-06 12:35
2007.07.15
TreeView.TVInsert


3-1176869561
Serge77
2007-04-18 08:12
2007.07.15
Разыскивается компонент TVKDbf


15-1181641061
OOO @Delphi
2007-06-12 13:37
2007.07.15
Где достать (скачать т.е.) FrontPage 2003?


15-1181633805
IMHO
2007-06-12 11:36
2007.07.15
С Днем России, россияне!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский