Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Локальный адрес сокета UDP, Как получить ? 
:(
    Опции темы
AugMaster
Дата 8.12.2007, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 3.8.2006

Репутация: 1
Всего: 1



Итак ситуация : есть комп,на нем 2 сетевых соединения - соответственно 2 айпишника.
Как получить адрес, на который пришел пакет ? 
В TCP просто - TCustomWinSocket юзаю, просто пролучаю Socket.LocalAdress и узнаю на какой айпишник (и соответсвенно с какой сети) посылались данные.
На UDP - не получается ну никак. Юзаю индейский TIdUDPServer . Если надо - компонент сменю. Задача стоит именно в определении адреса, на который  пришел этот UDP пакет.
PM MAIL   Вверх
Sanchezzz
  Дата 8.12.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



это на indy 10 на 9 почти точно также.

Код

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
  ABinding: TIdSocketHandle);
var
data:string;
begin
Data:= bytestostring(AData);
memo1.lines.add('апи от кого пришло'+ IdUDPServer1.Binding.PeerIP+' '+Data);
end;



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
AugMaster
Дата 9.12.2007, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 3.8.2006

Репутация: 1
Всего: 1



нет-нет,от кого пришло я могу определить и в старом индейце, а вот на какой из моих айпи пришло - я не могу узнать. В TCustimWinSockete для этого есть Socket.LocalAdress , которая говорит мне,на какой из моих ипов законнектился клиент. А вот как бы такое же узнать про UDP-пакет,который ко мне пришел.
PM MAIL   Вверх
Sanchezzz
Дата 9.12.2007, 19:47 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



UDP такой протокол он пошелд пакет и не заботится об об том чтоб он дошел "на все божия воля дойдет ил нет". ты только можешь узнать сколько подключено.
вариант два : отсылать сообщение что дошло от клиента к серверу. считывать апи пришедшего сообщения и отсылать некий текст который обозначает что дошло. 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.