Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

UDPSocket не получает сообщение   Найти похожие ветки 

 
SAG   (2004-03-30 15:54) [0]

Не понятно как работать с UDPSocket компонентом в режиме сервера. Адрес локальный и порт настроены, сидим в ожидании пакета, но события OnRecieve нет... Пример


procedure TForm1.Button4Click(Sender: TObject);
begin
 UDPClient.Open;
 UDPClient.Active:=True;
 UDPClient.ReceiveBuf(Buf,1000,0);
end;



 
Verg ©   (2004-03-30 18:20) [1]

А бесполезно ждать.


> Адрес локальный и порт настроены,


Помнится смотрел я этот UDPSocket....

Не знаю как устроен UDPSocket в седьмой Дельфе, но в шестой эти свойства не влияют ровным счетом ни на что. Тут этот UDPScoket как будь-то вообще недаделанный какой-то. Ему вообще не делают bind. Никогда :)
Поэтому, после connect-а (Acive := true или Open, а кстати у тебя получилось "масло маслянное") ядром ему  всегда присваивается локалный адрес INADDR_ANY (если ты вообще не задал RemoteHost) или адрес сетевого интерфейса пригодного для передачи IP к RemoteHost (по таблице маршрутизации) и локальный порт каким-то случайным образом выбранный из свободных в служебном диапазоне. Не свойствам компонента присваивается! А в ядре, полям объекта socket, с которым связан компонент UDPSocket.
Вот. И управлять тем, на каком порту он будет принимать датаграммы я не представляю возможным.
После коннекта получившийся порт узнать можно (getsockname), но управлять - нет.
Почему так сделано - сам недоумеваю.

Вроде так. Приду домой, еще раз гляну....


 
Verg ©   (2004-03-30 19:51) [2]

Ну да, все так и есть в честерке.
Т.е. решить проблему можно только в обход компоненты - напрямую через WinSock.Bind


 
SAG   (2004-03-31 08:22) [3]

спасибо... воспользовался компонентами инди и усе заработало



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
4-1080823908
Midaw
2004-04-01 16:51
2004.05.16
Перевод хэндла процесса в хэндл его окна


3-1082556707
Piton64
2004-04-21 18:11
2004.05.16
работа ADOQuery c SQL-сервером


1-1083291386
CyBeR
2004-04-30 06:16
2004.05.16
Переход другую форму с помощью закладок


3-1082125547
}|{yk
2004-04-16 18:25
2004.05.16
Вылетает Delphi,SQL Explorer при попытке приконнектиться через OD


14-1082743049
Ske4er
2004-04-23 21:57
2004.05.16
О Законах РФ