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

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

IDUdp [D7]


Dstr ©   (2006-06-10 15:45:00) 

Добрый день,у меня такая проблема:Пишу чат на IDUdp и вызывая Broadcast,каждый пакет приходит почемуто по 2 раза,например:
Вызываю
Client.Broadcast('гыгы',ServiseLokNet.GlobalServer.DefaultPort);
Обрабатываю:
procedure TServiseLokNet.GlobalServerUDPRead(Sender: TObject; AData: TStream;
 ABinding: TIdSocketHandle);
Begin;
ShowMessage('апвалп'); //ето сообщение отобразится 2 раза,почему?
End,


Eraser   (2006-06-10 23:28:00) [1]


> Dstr ©   (10.06.06 17:56) [2]


> ShowMessage(ABinding.IP);  //вернет 0.0.0.0

ShowMessage(ABinding.PeerIP);
;-)


Dstr   (2006-06-10 17:56:00) [2]


> потому что установлено 2 сетевых интерфейса.


Блин!!!Ты гений!!Я забыл что инди врезается куда тока можно,проблема решилась:надо всеголишь свою личность в чате обрабатывать локально.

Тока решение проблемы породило новую проблему(.Ведь я тупо шлю в сообщении ИПшник пользователя,а по етому ИПшнику прога знает кому слать месагу в следующий раз,но если например связаться через удаленку,как я понял фсе подвиснет в еб*нейматери.
Как можно узнать ИП адресата сообщения,класс TIdSocketHandle пишет всегда 0.0.0.0?

procedure TServiseLokNet.GlobalServerUDPRead(Sender: TObject; AData: TStream;
 ABinding: TIdSocketHandle);
begin
ShowMessage(ABinding.IP);  //вернет 0.0.0.0
end;


Eraser   (2006-06-10 16:15:00) [3]


> Dstr ©   (10.06.06 15:45)

потому что установлено 2 сетевых интерфейса.


Наверх

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