Главная страница
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.47 MB
Время: 0.025 c
3-1095238218
Medik
2004-09-15 12:50
2004.10.10
INNER JOIN, OUTER JOIN


9-1086872388
init13
2004-06-10 16:59
2004.10.10
ГЛСцена (текст)


11-1081335922
nsvi
2004-04-07 15:05
2004.10.10
StatusBar


14-1095470112
Думкин
2004-09-18 05:15
2004.10.10
С днем рождения! 18 сентября


1-1095425335
MakNik
2004-09-17 16:48
2004.10.10
EInvalidPointer