• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Idtcpclient и Idtcpserver

  • Автор темы Antoha
  • Дата начала
A

Antoha

Я пишу чат в котором использую TCPServer и TCPClient. Проблема в том, что во время роботы программы порты клиента и сервера можно поменять только один раз, т.е. в первый раз установил порты - все работает нормально, во второй раз - ошибка "Connect time out".
Код:
{Так я начинаю соединение}
IdTCPServer1.DefaultPort:=<>;
IdTCPClient1.Host:=<>;
IdTCPClient1.Port:=<>;
IdTCPServer1.Active:=true;
IdTCPClient1.Connect(50);

{Так заканчиваю}
IdTCPServer1.Active:=false;
IdTCPClient1.Disconnect;

Может я что-то делаю не так как надо? Помогите, пож...
 
A

Antoha

У IdTCPServer-а есть такой параметр как Bindings. Может быть мне как-нибудь использовать его? Подскажите пож... что такое Bindings и с чем его едят
 
C

Coldfate

У меня была схожая проблемка, и , к счастью, чат я все-таки написал, сначала через Indy, а потом и через WinSock. По-моему, сначала нужно отконнектить клиент, а потом сделать сервер неактивным. Дело в том, что Инди писали, видимо, с большого похмелья, и ошибок там как в сортире мух. Может, дело в этом. Bindings используют, если нужно сервер поставить сразу на несколько портов или адресов. Производительность, кстати, камнем падает.

Тут на форуме уже задавали вопрос, я напишу то же, что и тогда. Используйте WinSock. Да, он несколько тяжеловат для совсем начинающих, но на сайте Королевства Дельфи есть отличная статья по этому поводу, где чуть ли не на пальцах объясняется, как что работает. ВинСок НАМНОГО быстрее Инди по скорости, да и, если честно, понятнее. И там, в отличие от Инди, нет ошибок. Для меня это удобней. Для примера: мой чат на Инди (исходники) занимал почти в 2 раза больше чем на ВинСокеи глюков было немеряно.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!