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

Вниз

UDP и широковещательные пакеты   Найти похожие ветки 

 
denkop ©   (2004-10-03 18:09) [0]

Как правильно обработать ответы от юзеров которым был отослан широковещательный пакет. Когда отправляется обычная дэйтаграмма типа UDPClient.Send(...), ответ могу получить с помощью UDPClient.RecieveString(). А как быть когда после одной отправки приходит много ответов?? Как определить сколько пользователей откликнится, чтобы обработать ответы от них?


 
Piter ©   (2004-10-03 21:18) [1]

Ну и вопрос... да никак не определить - откуда ты знаешь сколько машин откликнутся?

И вообще непонятно.. ведь когда тебе будут отвечать - ты же видишь их IP адреса - вот так и различай разных клиентов. Каждый уникальный IP адрес - уникальный клиент.

В чем вопрос то? :)


 
denkop ©   (2004-10-03 23:07) [2]

Вот кусок из Indy примеров отправки:

procedure TUDPMainForm.SendButtonClick(Sender: TObject);
var
 MessageID: Integer;
 ThisMessage: String;
 ReceivedString: String;
begin
 MessageID := Random(MAXINT);
 ThisMessage := "Message: " + IntToStr(MessageID);
 UDPMemo.Lines.Add("Sending " + ThisMessage);
 UDPClient.Send(ThisMessage);
 ReceivedString := UDPClient.ReceiveString();


и здесь я никак не могу отличить чей ответ я получаю с ReceiveString. На сервере там передаётся ИП подключенного клиента (procedure TUDPMainForm.UDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle)),а на клиенте к сожалению ABinding нет. Или может я ошибаюсь??

 if ReceivedString = "" then
   UDPMemo.Lines.Add("No response received from the server after " + IntToStr(UDPClient.ReceiveTimeout) + " millseconds.")
 else
   UDPMemo.Lines.Add("Received: " + ReceivedString)
end;



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.054 c
1-1101608757
Bobby Digital
2004-11-28 05:25
2004.12.12
Listbox pt.2


3-1100599067
Algiz
2004-11-16 12:57
2004.12.12
Базы данных


1-1101233951
Dot
2004-11-23 21:19
2004.12.12
Жизнь в Run-Time


1-1101889207
pomashok
2004-12-01 11:20
2004.12.12
mouse_event


1-1101414806
Mazer
2004-11-25 23:33
2004.12.12
Изменения свойства Enabled у разных компонентов одним махом?





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