Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
1-1101677694
Bobby Digital
2004-11-29 00:34
2004.12.12
Переслать переменную


3-1100083717
denis24
2004-11-10 13:48
2004.12.12
групировка по полю memo,обьекта OLE в запросе


14-1100350021
Александр1
2004-11-13 15:47
2004.12.12
Помогите пожалуйста!


6-1092257951
Piter
2004-08-12 00:59
2004.12.12
Посоветуйте с выбором компонента для работы с TCP


14-1101310747
Empleado
2004-11-24 18:39
2004.12.12
may be useful