Sockety

0

Mam taki problem :

Jest Klient oparty na socketach, zrodlo wyglada mniej wiecej tak :

...
Client.Address := 195.116.157.50;
Client.Port := 12345;
Client.Active := TRUE;
Client.Socket.SendText('jakis tekst');
Memo1.Lines.Add('jakis tekst');
...

Teraz moje pytanie - Dlaczego Klient nie czeka na polaczenie tylko <ort>Od razu</ort> lapie sie za wysylanie tekstu ?? Na moje to powinien najpierw sie dobrze polaczyc z serwerem a dopiero pozniej jak juz bedzie polaczony wysylac Text.. Jak mozna sobie z tym poradzic ? Jak wrzuce wysylanie tekstu w OnClientConnect to mi troche balaganu narobi w zrodle, petla repeat untill przyblokuje forme.. Nie da sie tego prosciej zrobic ? Macie jakies propozycje ??

0

Client.Address := 195.116.157.50;
Client.Port := 12345;
Client.Active := TRUE;
if Client.Socket.Connected then
Client.Socket.SendText('jakis tekst');
Memo1.Lines.Add('jakis tekst');

---- niewiem czy tak mi pomoglo a to <ort>mÓj</ort> 2 post i jestem nieco poczatkujacy---

0

client.active := true;
if client.active then
client.socket.sendtext('TEKST') else
showmessage('brak ort!');

0

Tak to ja juz tez robilem, w LAN'ie smiga prawidlowo, ale sytuacja jest calkiem odwrotna gdy klient laczy sie z serwerem gdzies w necie - kiedy polaczenie trwa czasem sekunde albo wiecej, wtedy zaraz po ustawieniu Client.Active := TRUE; bierze sie za to co jest nastepne w kodzie i nie patrzy czy juz jest polaczony czy nie... :|

No nic .. Najwyzej bede co 2 sek sprawdzal czy sie polaczyl (tak z 5 razy), a jak sie nie polaczy to wywali mesga czy cus..

W kazdym badz razie dzieki ;P

0

A od czego jest zdarzenie OnConnect ??

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin

  Socket.SendText('bla bla bla');

end;

[dopisane]
Sorry, chyba przeoczyłem, że to już pisałeś :)

0

ja bym dał w zdarzeniu onWrite

0

Matrox przeciez pisalem : "Jak wrzuce wysylanie tekstu w OnClientConnect to mi troche balaganu narobi w zrodle" ;P

0

Zobacz mój progam:pogadaj.zip
mam nadzieje że wszystko sie wyjaśni :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1