![]() |
Problem mit Indy TCP-Server + Client
Ich habe eine Anwendung erstellt die sich mit Hilfe von Indy-Komponenten verschiedene Daten hin und her schickt. Wenn ich das Programm starte kann ich ohne Probleme als Server mit dem Client Kontakt aufnehmen und es werden auch die "Namen" ausgetauscht die man in Edit-Felder eintragen kann.
Doch sobald ich das zweite Mal einen Integer senden will kommt der Fehler "SocketError #10048 - Adress already in use", aber ich disconnecte doch nach jedem Arbeitsschritt Hier werden die Namen gesendet:
Delphi-Quellcode:
Dann sende ich dies:
procedure TClient.FormCreate(Sender: TObject);
begin tcpclient.BoundPort:=4048; tcpclient.Host:=Host_IP; Form1.Hide; M_Chat.Lines.Add('Connecting...'); with TCPClient do begin Connect; try WriteInteger(1); M_chat.Lines.Add(ReadLn); WriteLn(Name_Client); Name_Host:=ReadLn; M_chat.Lines.Add(Name_Host+' ist der Server'); finally Disconnect; end; end; end;
Delphi-Quellcode:
Ausgelesen wird das Ganze mit dieser Prozedur:
procedure TClient.B_ChatClick(Sender: TObject);
begin with TCPClient do begin Connect; try WriteInteger(3); WriteLn(E_Chat.Text); M_chat.Lines.Add(Name_Client+': '+E_Chat.Text); E_Chat.Text:=' '; finally Disconnect; end; end; end;
Delphi-Quellcode:
begin
with AThread.Connection do begin if ReadInteger=1 then begin M_chat.Lines.Add('Incoming Connection'); WriteLn('Connection accepted'); Name_Client:=ReadLn; WriteLn(Name_Host); M_chat.Lines.Add(Name_Client+' ist dem Spiel beigetreten'); end; if ReadInteger=2 then begin M_Chat.Lines.Add(Name_Client+' hat das Spiel verlassen'); end; if ReadInteger=3 then begin M_Chat.Lines.Add(Name_Client+': '+ReadLn); end; Disconnect; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz