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

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

можно ли одновременно подкл. к одному UDP 2-м прогам? [D6, Win2k]


dictator ©   (2003-04-26 18:36:00) 

можно ли одновременно подключиться
к одному порту с протоколом UDP
двум приложениям так что бы оба приложения
могли обработать событие NMUDP1DataReceived ?
(на основе например компонента DELPHI)


Illusion   (2003-04-27 14:33:00) [1]

конечно можно! UPD не создаёт логических соедиенений, он просто ресивит данные... Ему плевать от кого. Далее. Тебе надо знать, от кого что идёт, верно? читай документацию по recvform... Ты получишь sockaddr * человека, от корого идут данные... Как его прева\раитт в нормалдьный адресс? Оч. просто... Код на С++ но думаю поймёшь...

sockaddr in;
int inlen;
recvform(socket, buf, 255, 0, &in, &inlen);
struct sockaddr_in *formated = (struct sockaddr_in*)∈
char *host = inet_ntoa(formated ->sin_addr);
unsigned short port = ntohs(formated ->sin_port);

что дальше? host содержит IP адресс (имя хоста, если прописан в DNS) откуда пришёл пакет, а port - соотвественно порт...


Наверх

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