General Tomorof
04.06.2005, 18:05
Hey ho..
ich programmiere grade ein kleines Chatprogramm mit Delphi, allerdings hab ich ein Problem
Der Server steht, die IP ist [natürlich] 127.0.0.1, und um sich einzuloggen muss man ja bekannterweise zuerst die Verbindung über Sockets erstellen (also ClientSocket.Active := true ; ) und sich danach mit "login [Username] [Passwort]" einloggen.
Ich hab versucht beide Prozeduren zu vereinen:
procedure TForm1.Button1Click(Sender: TObject);
begin
if i=1 then
begin
ClientSocket.Address:= Edit2.Text;
ClientSocket.Port:= StrToInt (Edit1.Text);
ClientSocket.Active := true ;
ClientSocket.Socket.SendText('login ' + (Edit3.Text) + ' ' + (Edit4.Text) + chr(10) + chr(10));
button1.caption:='logout';
i:=i+1;
end
else
begin
ClientSocket.Active := false ;
ClientSocket.Socket.SendText('logout ' + chr(10) + chr(10));
i:=1;
button1.caption:='login';
end;
end;
Die Sache mit der Variable I ist erstmal unwichtig, sie dient nur zum umschalten von login zu logout.
Mein Problem ist aber, ich sehe beim Server wer sich einloggt und was gesendet wird. Wenn ich die Prozedur von oben aufrufe, klappt der Verbindungsaufbau problemlos, aber das Prgramm sendet die Login-Daten nicht, jedenfalls kommen sie nicht beim Server an. Das gleiche gilt für logout. Das Programm schliesst den SocketClient, aber es sendet kein "logout" an 127.0.0.1.
Ich kann mich aber auch über das normale Textfenster einloggen, also als Chatnachricht "login [Username] [Passwort]" senden, natürlich dann ohne "send" am Anfang, und dann sehe ich auch dass das Zeug beim Server ankommt. Aber bei der anderen Prozedur eben nicht...
Gibts hier vll ein paar Experten die mir bei der Sache weiterhelfen können?
Thanx im Vorraus :)
ich programmiere grade ein kleines Chatprogramm mit Delphi, allerdings hab ich ein Problem
Der Server steht, die IP ist [natürlich] 127.0.0.1, und um sich einzuloggen muss man ja bekannterweise zuerst die Verbindung über Sockets erstellen (also ClientSocket.Active := true ; ) und sich danach mit "login [Username] [Passwort]" einloggen.
Ich hab versucht beide Prozeduren zu vereinen:
procedure TForm1.Button1Click(Sender: TObject);
begin
if i=1 then
begin
ClientSocket.Address:= Edit2.Text;
ClientSocket.Port:= StrToInt (Edit1.Text);
ClientSocket.Active := true ;
ClientSocket.Socket.SendText('login ' + (Edit3.Text) + ' ' + (Edit4.Text) + chr(10) + chr(10));
button1.caption:='logout';
i:=i+1;
end
else
begin
ClientSocket.Active := false ;
ClientSocket.Socket.SendText('logout ' + chr(10) + chr(10));
i:=1;
button1.caption:='login';
end;
end;
Die Sache mit der Variable I ist erstmal unwichtig, sie dient nur zum umschalten von login zu logout.
Mein Problem ist aber, ich sehe beim Server wer sich einloggt und was gesendet wird. Wenn ich die Prozedur von oben aufrufe, klappt der Verbindungsaufbau problemlos, aber das Prgramm sendet die Login-Daten nicht, jedenfalls kommen sie nicht beim Server an. Das gleiche gilt für logout. Das Programm schliesst den SocketClient, aber es sendet kein "logout" an 127.0.0.1.
Ich kann mich aber auch über das normale Textfenster einloggen, also als Chatnachricht "login [Username] [Passwort]" senden, natürlich dann ohne "send" am Anfang, und dann sehe ich auch dass das Zeug beim Server ankommt. Aber bei der anderen Prozedur eben nicht...
Gibts hier vll ein paar Experten die mir bei der Sache weiterhelfen können?
Thanx im Vorraus :)