Entwickler-Ecke
Internet / Netzwerk - Problem mit Status von TClientSocket!
TheBlackRave - Mo 10.03.03 21:20
Titel: Problem mit Status von TClientSocket!
Ich hab a little Problem als der Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| If ServerStatus Then Begin ClientSocket1.Close; Button1.Caption:='Server verbinden'; ServerStatus:=False; End Else Begin AdresseOk:=InputQuery('Server Adresse','Bitte geben Sie die IP vom Server ein mit dem Sie sich verbinden wollen',ServerAdresse); If Not AdresseOk Then Exit; ClientSocket1.Address:=ServerAdresse; ClientSocket1.Open; If Not ClientSocket1.Socket.Connected Then Begin ClientSocket1.Close; Memo1.Lines.Add('Fehler *Es wurde kein Server an der angegebenen Adresse gefunden!'); Exit; End; Button1.Caption:='Server schließen'; ServerStatus:=True; End; |
Im unteren Teil soll, wenn er keine Server findet
Quelltext
1: 2: 3: 4: 5: 6:
| If Not ClientSocket1.Socket.Connected Then Begin ClientSocket1.Close; Memo1.Lines.Add('Fehler *Es wurde kein Server an der angegebenen Adresse gefunden!'); Exit; End; |
das er den ClientSocket1 schließt und die Procedure sofort beendet.
Funzt aber net. Es kommt ein Fehler 100061 oder so.
Mein 2 Problem wäre:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
var I:Integer;
begin ListBox1.Items.Clear; for i:=0 to ServerSocket1.Socket.ActiveConnections-1 do begin ListBox1.Items.Add(ServerSocket1.Socket.Connections[I].RemoteAddress); end; end;
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
var I:Integer;
begin ListBox1.Items.Clear; for i:=0 to ServerSocket1.Socket.ActiveConnections-1 do begin ListBox1.Items.Add(ServerSocket1.Socket.Connections[I].RemoteAddress); end; end; |
Er soll alle Verbindungen in einem ListBox anzeigen. Doch funzt net.
Es ist immer eine Item drin.
Danke für die Hilfe!
Moritz M. - Mo 10.03.03 23:04
Bei Problem 1 kann ich nicht helfen, nur bei 2
| TheBlackRave hat folgendes geschrieben: |
Es ist immer eine Item drin.
|
Ich versteh dass jetzt mal so dass du mehrere Verbindungen aufgebaut hast, jedoch nur eine angezeigt wird. Das kann folgende Quelle haben:
Du hast die Verbingungen immer von der gleichen IP aufgebaut und gleiche Einträge werden Ignoriert.
Wenns dann immernochnicht geht dann versuchs mal so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin ListBox1.Items.Add(Socket.RemoteAddress); end;
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin ListBox1.Items.Delete(ListBox1.items.IndexOf(Socket.RemoteAddress)); end; |
Schlag mich nicht wenn Tippfehler drin sind, habs eben mal so ab getippt. Aber so müsste es gehen.
TheBlackRave - Di 11.03.03 16:51
Danke aber das funzt net???
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TFormBCS.ServerSocketClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin LBVerbindungen.Items.Add(Socket.RemoteAddress); end;
procedure TFormBCS.ServerSocketClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin LBVerbindungen.Items.Delete(LBVerbindungen.Items.IndexOf(Socket.RemoteAddress)); end; |
Moritz M. - Di 11.03.03 16:53
was genau geht nicht?
TheBlackRave - Di 11.03.03 16:57
er schreibt nichts in die liste! also es kommt kein error aber wenn ich mich mit einem client verbinde wird nix in die liste geschrieben!
Moritz M. - Di 11.03.03 17:00
Dann weiß ich nicht mehr weiter. Kannst mir ja mal den COde schicken, dann schau ichs mir an:
Mo@onz24.de
TheBlackRave - Di 11.03.03 17:03
Ich hab glaub ich den Fehler gefunden.
Er startet allgmein nicht die Proceduren!
Moritz M. - Di 11.03.03 17:05
dann is ja gut
TheBlackRave - Di 11.03.03 17:08
Jetzt hab ich den Fehler gefunden! 8)
Er hats eingetragen aber nicht angzeigt, weil die Textfarbe auf weiß war!
:roll:
Moritz M. - Di 11.03.03 17:11
Autsch...dsa tut weh ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!