Главная страница
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.055 c
7-1081003358
CAHEK
2004-04-03 18:42
2004.05.16
Как из Винды в проге открыть файл???


3-1082701180
BPK
2004-04-23 10:19
2004.05.16
TParameters без базы данных, сам по себе.


8-1067533002
arcsin
2003-10-30 19:56
2004.05.16
OpenGL


11-1068963064
Ciber SLasH
2003-11-16 09:11
2004.05.16
Тормоза в PaintBox e


3-1082103521
RavenD
2004-04-16 12:18
2004.05.16
Чем вылечить DB-файлы?