Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.035 c
14-1082889238
ИМХО
2004-04-25 14:33
2004.05.16
Связь между работой модераторов на форуме и его популярностью?


4-1080732603
rimdl
2004-03-31 15:30
2004.05.16
Hooks


3-1082376634
}|{yk
2004-04-19 16:10
2004.05.16
Cannot transliterate


1-1083136333
Tornado
2004-04-28 11:12
2004.05.16
Как "склеить" строки?


7-1077743439
RealRascal
2004-02-26 00:10
2004.05.16
Телефон <-> COM-порт <-> PC





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский