Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IdUDPClient & IdUDPServer ==> Вешаться или подскажите? [D7, WinXP]


Nes ©   (2005-03-27 16:38:00) 

Вот, запарился...опять же...с 127.0.0.1 всё работает, но только появилься другой IP и косяк...привожу куски кода, может чё не так...как делают умные люди=)

Client:

procedure TForm1.Button1Click(Sender: TObject);
begin
IdUDPClient1.Port:=43436;
IdUDPClient1.Host:=edit2.text;
IdUDPClient1.active:=true;
IdUDPClient1.Send(edit3.Text);
end;

Теперь сам сервер:

procedure TForm1.Button1Click(Sender: TObject);
begin
IdUDPServer1.Active:=true;
end;

И на событие:

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
 ABinding: TIdSocketHandle);
var
msg:string;
s:Integer;
begin
s:=adata.Size;
setlength(msg,s);
adata.Read(msg[1],s);
showmessage(msg);
end;

Вот и всё? В чём косяк? Может я чё не так делаю, или что-то ещё нужно?


MASSACRE   (2005-06-24 07:20:00) [1]

Вариантов таймАута может быть много
как уже сказанно фаер вол.
шибко "Умный комутатор"

А вообще от клиента к серверу хотя бы пинг идет ?


Digitman   (2005-06-23 16:06:00) [2]


> дело не в обработке сообщения,а в Connection Timeout


а обработчик-то при чем ?

событие, вызывающее твой обработчик, если уж он произошло, то данные посланного тебе сообщения до тебя уже пришли целиком и полностью, осталось их прочитать из потока методом Read, при этом никакой таймаут тебе уже не грозит

если же отказ по таймауту возникает при вызове Send-метода, то это - совсем иной коленкор)...


nes   (2005-06-22 21:07:00) [3]

Вообще, не фаервола, никаких других программ,сервес пак 2 не стоит


miek   (2005-05-19 11:40:00) [4]

UDP могут убиваться файрволлом. На передающей или принимающей стороне присутствует?


Nes   (2005-03-30 15:52:00) [5]

Эх блинс...не туда написал...


Nes   (2005-03-30 15:47:00) [6]

"В сеть"? - эт ты имеешь ввиду типа соедины ли компы Lan...нет...только доступ в инет паутинку...


Nes   (2005-03-28 18:02:00) [7]

=( Если никто не знает, напиши, что не знаете, а то я каждый день проверяю, в надежде, что мне ответили, а тут облом=(


nes   (2005-03-27 21:01:00) [8]

Нет,нет...дело не в обработке сообщения,а в Connection Timeout,хотя всё сделано,...мне тут сказали, что это может быть в том, что провайдеры ставять прохи? И нужен скрипт для обхода или чё-та такое...Это действительно так?и в чём ещё может быть дело?


Змей   (2005-03-27 18:59:00) [9]

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
s:string;
sfs:tstringstream;
begin
sfs:=tstringstream.Create('');
sfs.CopyFrom(adata,adata.Size);
       s:=sfs.DataString;
showmessage(s);
end;
попробуй мож буить работать


Nes   (2005-03-27 17:47:00) [10]

Вешаться?


Наверх

Титульная страница Поиск, карта сайта Написать письмо