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

Вниз

Нужна помощь, совет   Найти похожие ветки 

 
romych   (2002-11-05 14:10) [0]

Помогите мне пожалуйста:
1) я пишу программу для общения по локалке, сообщение передаю по ЮДП а подтверждение, получение сообщения хочу подтвердить по сокету (для надежности) но проблема в том, что сокету иногда очень долго конектятся, притом конект, отсылка, разорвать соединение в одной процедуре:
ClientSocket1.Open;
ClientSocket1.Host:=a;
while Not ClientSocket1.Active do Application.ProcessMessages;
ClientSocket1.Socket.SendText(s);
ClientSocket1.Close;

Как работает Application.ProcessMessages скажем может ли пока идет этот цыкл принятся следуещее сообщение сообщение по ЮДП?
Что вообще делается при Application.ProcessMessages;
я думаю надо вставить в цикл, еще ограничение по времени, если скажем комп который отослал ЮДП выключен, вышли из программы, но сколько времени ждать в хорошей сети?


 
Romych   (2002-11-05 16:05) [1]

Пожалуйста посоветуйте что нибудь!


 
Song ©   (2002-11-05 16:12) [2]

Скорей всего дело в сети.


 
Romych   (2002-11-05 16:43) [3]

Сеть хорошая, скажите сколько времени примерно конектятся у Вас сокеты, и все ли у меня правильно?


 
Digitman ©   (2002-11-05 17:31) [4]

ClientSocket1.Open;
ClientSocket1.Host:=a; // а это зачем ??????? почему не перед Open() ?
while Not ClientSocket1.Active do Application.ProcessMessages;
ClientSocket1.Socket.SendText(s);
ClientSocket1.Close;


С DNS у тебя проблемы, думаю.


 
Song ©   (2002-11-05 17:32) [5]

С компами в одной рабочей группе очень быстро. С сервером - иногда (редко) минуты 2 бывает (максимум). Хотя и с клиентскими машинами тоже бывает такая фигня (что долго). Бывает что вообще виснет (наверно сами сокеты в исполнении борланда плохо работают с сеткой). Но в подавляющем большинстве случаев быстро. Также зависит от того какая загруженность сети. Если комп, к которому подключается другой компьютер занят работой с файлами (напряжённой), то тоже не быстро.


 
Song ©   (2002-11-05 17:34) [6]

У меня кстати Microsoft DNS Server не стоит вообще, но тем не менее как я уже написал всё работает почти всегда хорошо.


 
RV ©   (2002-11-05 17:43) [7]

о,
была такая же трабла, причем именно на 9х

причем даже смешнее - ping 127.0.0.1 на некоторых машинах шел через 1-2 минуты
Вылечил методом редактирования файла hosts в директории с виндой


 
ppcat   (2002-11-05 20:10) [8]

procedure TfmSockets.Send;
begin
ClientSocket.Host:= Host;
ClientSocket.Active:= true;
end;

procedure TfmSockets.ClientSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket.Socket.SendText(SendText);
ClientSocket.Close;
end;




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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
1-1830
delpher_gray
2002-12-17 16:45
2003.01.02
CommPortDriver


14-1906
Mr.Ice
2002-12-15 02:51
2003.01.02
Создается группа кодеров


14-1871
Rouse_
2002-12-13 01:03
2003.01.02
День рожденья AGA


1-1827
MFV
2002-12-21 00:17
2003.01.02
Собственный объект для вставки в Word


3-1752
EternalWonderer
2002-12-10 17:26
2003.01.02
CONNECT BY PRIOR ID = PARENT