Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2009, 21:54   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию Почему tIdTCPServer железно цепляется к порту

Всем привет!
Это что, очередной глюк или что?
Код:
procedure Tmain_wnd.con_btnClick(Sender: TObject);
var
port: string;
begin
   if length(addr_edit.Text) = 0 then
      port := '45678'
   else
      port := addr_edit.Text;

   disCon_btnClick(Sender);

   server.DefaultPort := strToInt(port);
   server.Active := true;
   addr_edit.Color := $E1FFE1;
end;

procedure Tmain_wnd.disCon_btnClick(Sender: TObject);
begin
   if server.Active then
   begin
      server.StopListening;
      addr_edit.Color := $DEDDFF;
   end;
end;
Короче порт остаётся тот, который назначается при первом подключении. Потом хоть 50 раз отключись и подключись назначаю порт ни хрена не меняется: При последующих подключениях порт остаётся тот же что и при первом.
Altera вне форума Ответить с цитированием
Старый 09.10.2009, 01:52   #2
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Имхо, проблема в остановке сервера инди.
Например, создаём сервер, в onExeceute пишем beep;, коннектимся к серву. Начинет пикать. Вырубаем проект - продолжает переодически пикать =\ По крайней мере у меня так.
TwiX вне форума Ответить с цитированием
Старый 09.10.2009, 07:57   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Ну и как тогда мне быть?
Я вообще не уверен, что после active := false он полностью останавливается...
Altera вне форума Ответить с цитированием
Старый 09.10.2009, 09:35   #4
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Радость

Цитата:
Сообщение от Altera Посмотреть сообщение
Ну и как тогда мне быть?
Я вообще не уверен, что после active := false он полностью останавливается...
Какая версия делфи?
Lime вне форума Ответить с цитированием
Старый 10.10.2009, 12:09   #5
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Code gear 2009
Altera вне форума Ответить с цитированием
Старый 10.10.2009, 13:08   #6
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Плохо

Цитата:
Сообщение от Altera Посмотреть сообщение
Code gear 2009
У меня в ней сплошные глюки с интернет компонентами... те-же проекты компилю в д7 и всё отчлино работает.
Так-же проблемы с юникодом ...
Lime вне форума Ответить с цитированием
Старый 10.10.2009, 15:06   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

после active:=false работа останавливается, но активными еще будут потоки приема сообщений.
для начала делайте idiohandler-у tcp-сервера close , а затем active:=false
defaultport не лучшее место для изменения порта, надо менять именно binding( по-мойму в cmdсервер он есть)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 10.10.2009, 16:10   #8
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
после active:=false работа останавливается, но активными еще будут потоки приема сообщений.
для начала делайте idiohandler-у tcp-сервера close , а затем active:=false
defaultport не лучшее место для изменения порта, надо менять именно binding( по-мойму в cmdсервер он есть)
Ничего я не понял.
Нету у tIdTCPServer.ioHandler метода Close.
Может реализацию в примерчике объясните?
Altera вне форума Ответить с цитированием
Старый 10.10.2009, 16:22   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

почему-бы вам не попробовать destroy компонента? а когда надо создайте его заново...
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 10.10.2009, 16:25   #10
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Ага, ещё какой быдлокодеровский метод посоветуете?
Altera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключиться к COM порту doober Общие вопросы .NET 3 23.07.2009 13:34
Проблема с кодировкой в TIdTCPServer&TIdTCTClient RNT Работа с сетью в Delphi 6 08.07.2009 14:34
Проблема с TidTCPServer andrey4623 Работа с сетью в Delphi 3 18.08.2008 09:15
Почему инди-компонента TIdTCPServer тормозит после десяти минут работы? alex-v Работа с сетью в Delphi 2 15.07.2008 19:02
Доступ к ИК порту ЧИЖ Win Api 4 09.05.2007 20:41