Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выбор порта в TIdTCPServer

1.9K
27 февраля 2008 года
Anton Chik
175 / / 26.09.2005
пишу в bds2006, Indy9.0.50

запускаю сервак так...
 
Код:
int defport=StrToInt(Edit1->Text);
IndyServer->DefaultPort=defport;
try
{
IndyServer->Active = true;
}
catch(...)
{
ShowMessage("Ошибка при запуске сервера. Возможно, выбранный Вами порт ("+IntToStr(IndyServer->DefaultPort)+") уже используется.");
}


суть и вопрос в том, что DefaultPort у меня получается установить(поменять) лишь один раз за работу программы...

вылезло (и таким же способом теперь тестирую) так:
- запускаю на 1982 (например) порту рядом сервачок, собранный на TSocketServer;
- запускаю IndyServer на 1983, работает. Останавливаю, вбиваю в Edit1 порт 1982, запускаю. работает(!хотя по идее не должен уже).
- останавливаю IndyServer, перезапускаю exe-шник, вбиваю 1982, запускаю, матерится (только теперь):
"Ошибка при запуске сервера. Возможно, выбранный Вами порт (1982) уже используется"
- останавливаю, вбиваю 1983, запускаю, матерится
"Ошибка при запуске сервера. Возможно, выбранный Вами порт (1983) уже используется"
и т.д.

т.е. cв-во Default Port как бы меняется, но не вступает в силу что ли...

подскажите что не так, что сделать или так и должно быть?
8.8K
27 февраля 2008 года
Se AD WMD
165 / / 10.01.2007
выполни из кмд netstat -a и попробуй поискать там проблему.
8.4K
28 февраля 2008 года
Zor
104 / / 23.04.2006
Если вы стопите сервер вот так
 
Код:
IndyServer->Active = false;


[поправка...]
то прикол в том, что с первого раза бывает не отключается. фишка инди.

пример:
 
Код:
try { IndyServer->Active = false; } catch (...) {}
if (IndyServer->Active) { ну все совсем плохо... }
1.9K
29 февраля 2008 года
Anton Chik
175 / / 26.09.2005
все именно так. только сервер удачно останавливается...
т.е. IndyServer->Active все-таки превращается в фальш...
но впредь пытается цепляться по первоначально указанному порту(
1.9K
29 февраля 2008 года
Anton Chik
175 / / 26.09.2005
всё. всем спасибо. разобрался.

перед стартом сервака следовало черкнуть:

 
Код:
IndyServer->Bindings->Clear();


взял вот отсюда: http://www.delphikingdom.com/asp/answer.asp?IDAnswer=46045
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог