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

Вниз

Как сделать рассылку одного сообщения нескольким машинам?   Найти похожие ветки 

 
serg128   (2004-07-30 15:20) [0]

Делаю так:

   AnsiString InpStr = Info.GetElement(0);
//    ShowMessage(InpStr);
   AnsiString txt = InpStr.SubString(InpStr.Pos("#")+1, InpStr.Length()-InpStr.Pos("#"));

   AnsiString IPstr = InpStr.SubString(1, InpStr.Pos("#") -2 );
   AnsiString tmpIP; // ïåðåìåííàÿ äëÿ îäèíî÷íîãî IP àäðåñà
   while(IPstr.Length())
   {
     tmpIP = IPstr.SubString(1, InpStr.Pos(";")-1);
     IPstr.Delete(1, InpStr.Pos(";"));
     TClientSocket *ClientSocket = new TClientSocket(this);
     ClientSocket->Port = 6002;
     ClientSocket->Address = tmpIP;
     ClientSocket->Active = true;
     ClientSocket->Open();
     Application->ProcessMessages();
     Sleep(100);
     ClientSocket->Socket->SendText(txt);
     Application->ProcessMessages();
     ClientSocket->Active = false;
     ClientSocket->Close();
     delete ClientSocket;
   }
 }

И впринципе работает, но плоховато (иногда сообщения не доходят). Подскажите плиз, в чем дело?


 
VMcL ©   (2004-07-30 15:53) [1]

>>serg128  (30.07.04 15:20)

Режим блокирующий?


 
serg128   (2004-07-30 16:15) [2]

нет


 
VMcL ©   (2004-07-30 17:24) [3]

>>serg128  (30.07.04 16:15) [2]

Тогда с чего ты взял, что после вызова ClientSocket->Open(); сокет сразу готов принимать данные?


 
serg128   (2004-07-31 12:34) [4]

Если ты посмотрел на код, то должен был увидеть: он ОТПРАВЛЯЕТ , а не принимает сообщение.


 
Verg ©   (2004-07-31 13:18) [5]


> [4] serg128   (31.07.04 12:34)
> Если ты посмотрел на код, то должен был увидеть: он ОТПРАВЛЯЕТ
> , а не принимает сообщение.


Тем не менее, сути замечания ты не понял.

В неблокирующем (асинхронном) режиме ClientSocket->Open(); инициирует  открытие соединения (начинает процесс установления соединения). Т.е. после вызова этого метода вовсе не обязательно, что сокет уже установил соединение. Только поле возникновения события OnWrite можно начинать попытки отправить данные по установленному соединению.



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

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
4-1094556875
Apolo
2004-09-07 15:34
2004.10.10
Обмен данными между двумя программами через SendMessage


14-1095452403
Chess
2004-09-18 00:20
2004.10.10
Unicode to RichEdit


1-1096059561
DeoS
2004-09-25 00:59
2004.10.10
Удаление


1-1096054382
tormoz
2004-09-24 23:33
2004.10.10
Фокус ввода


1-1096274244
DelphiLexx
2004-09-27 12:37
2004.10.10
Форма поверх всех окон