Главная страница
    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.44 MB
Время: 0.033 c
6-1080144803
neteditor
2004-03-24 19:13
2004.05.16
Receiveln


14-1083167480
Yegorchic
2004-04-28 19:51
2004.05.16
Всё за бесплатно!


1-1083251300
Smog
2004-04-29 19:08
2004.05.16
Разделение строки на подстроки


7-1080567468
Rus
2004-03-29 17:37
2004.05.16
Процессы в WIN2000


14-1083025226
Yttrium
2004-04-27 04:20
2004.05.16
IL. Нафига он нужен?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский