Главная страница
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.021 c
1-1096135368
Charly22
2004-09-25 22:02
2004.10.10
MDI-интерфейс: проблемы с закрытием дочерних форм.


1-1096013372
Koala
2004-09-24 12:09
2004.10.10
Опять про MDI приложение....


9-1086951394
Bizon's
2004-06-11 14:56
2004.10.10
Помогите ламеру с DelphiX


3-1095144874
Diman
2004-09-14 10:54
2004.10.10
Как получить доступ к полям DBF-файла?


4-1093902801
nimble
2004-08-31 01:53
2004.10.10
Дистанционное управление