[DELPHI] chat

0

pisze chat zebym mogl sobie z kims tam gadac. korzystam z indy 9 (IdTCPClient i IdTCPServer) zrobilem klienta i serwer. w serwerze mam taka procedure:

 procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
begin
Memo1.Lines.Add('>>'+AThread.Connection.LocalName+': '
+AThread.Connection.ReadLn);
AThread.Connection.WriteLn('?');
end;

i wszystko dziala dobrze. server odsyla mi '?' , ale jak dodam juz funkcje if np.

 procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
begin
Memo1.Lines.Add('>>'+AThread.Connection.LocalName+': '
+AThread.Connection.ReadLn);
if AThread.Connection.ReadLn='asd' then AThread.Connection.WriteLn('asd')
else AThread.Connection.WriteLn('?');
end;

to jak wysylam wiadomosc do serwera to klient mi sie zawiesza :-/ .....ktos wie gdzie jest blad?[???]

dzieki

0
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
Var Line:String;
begin
  Line:=AThread.Connection.ReadLn;
  Memo1.Lines.Add('>>'+AThread.Connection.LocalName+': '+Line);
  if Line='asd' then AThread.Connection.WriteLn('asd')
  else AThread.Connection.WriteLn('?');
End;

W twoim przykładzie najpierw wyświetliło 1 linie, a następnie program oczekiwał na następną.

0

wszystko dziala ;] dzieki ziom........tylko teraz mam problem mysle ze to juz bedzie latwiejsze :P
chce zrobic ze jak napisze do klienta 'opencd' to on mi otworzy cdrom, a jesli napisze np. 'blablabla' to on mi odpisze 'blablabla?' a jesli nie napisze ani 'opencd' ani 'blablabla' to on mi wysle '?'

jakies pomysly? bo mi nie chce to wyjsc ;)

0

:> to co w koncu robisz komunikator - bota - trojana [diabel]

0
mitring napisał(a)

:> to co w koncu robisz komunikator - bota - trojana [diabel]

Zapewne komunikator, ale wersja enterprise musi miec bajery :P

0

3 w 1 [green]

ktos wie jak to zrobic?

0

Poszukaj w serwisie informacji.

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