Главная страница
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.048 c
1-1095779730
M-Alex
2004-09-21 19:15
2004.10.10
Timer


1-1096038625
mmmmm
2004-09-24 19:10
2004.10.10
перебор все компонентов image


4-1094488155
Fon
2004-09-06 20:29
2004.10.10
Фон Edit-a


3-1095154874
12345
2004-09-14 13:41
2004.10.10
Можно ли менять содержимое таблицы, если менятьг грид ADOQuery?


1-1095745131
Игорь_
2004-09-21 09:38
2004.10.10
массивы данных