Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не работает присвоение порта к IdUDPServer [D7, WinXP]


Chaser ©   (2004-12-22 13:02:00) 

Передаю данные с компьютера на компьютер при помощи IdUDPServer и IdUDPClient.

У сервера OnUDPRead пишу (ответ клиенту):

DataStringStream:=TStringStream.Create('');
try
 DataStringStream.CopyFrom(AData, AData.Size);
 if DataStringStream.DataString='xxx'
 then
  begin
   s:='Replied from "'+idUDPServer1.LocalName+'" to "'+DataStringStream.DataString+'" - Client stopped...';
   ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, s[1], Length(s));    
  end;

Клиент и сервер соединяюся по порту 3128 например.

Проблема: если у сервера поставить на компоненте (во время разработки) порт 3128, то все работает, а если на компоненте поставить порт 1234, а потом во во время работы программы допустим при Button1.Click написать idUDPServer1.DefaultPort:=3128, то почему-то соединения нет.
А если писать OnCreate формы idUDPServer1.DefaultPort:=312, то все соединяется.

Подскажите плиз в чем проблема.
С уважением, Андрей.


Chaser   (2004-12-24 15:59:00) [1]

Главное, что idUDPServer1.DefaultPort становится 3128, но не соединяется с сервером.
У меня в OnCreate формы стоит idUDPServer1.Active:=true.
Если эту строку закоментировать, и менять порт по ходу работы программы, а уже потом ставить порт Active:=true, то все работает, однако если после этого опять поменять порт на другой (Active:=false, меняем порт, Active:=true), то не работает :(, хотя idUDPServer1.DefaultPort меняется.
Выходит если один раз активировать сервер, то потом уже порт не поменяешь.
Может кто знает как это исправить?


Eraser   (2004-12-23 17:33:00) [2]

Странно...


Chaser   (2004-12-23 14:59:00) [3]

Неа, не фурычит :(
Главное, что idUDPServer1.DefaultPort становится = 3128, но соединения с сервером не происходит.
А если писать OnCreate формы idUDPServer1.DefaultPort:=3128, то все соединяется


Eraszer   (2004-12-22 20:58:00) [4]

Сначала отключай сервак (active:=false) потом меняй порт, потом включай сервак (active:=true)
that's all.


Наверх

Титульная страница Поиск, карта сайта Написать письмо