Multi clientsocket connections + listbox
hallo leute....ich nochmal.... :-D
jetzt kommt ein für mich sehr dickes ding....bin ein abtrünniger vbler :-D also ich habe einen client-server problem mit mehreren verbindungen gleichzeitig...also problem: im server ist eine listbox, diese zeigt alle eingehenden verbindungen an. jetzt möchte ich, das wenn sich ein client disconnected, er aus der listbox geschmissen wird... da mein hirn meistens ein matschiger thc ball ist 8) ....bitte bitte bitte bitte mit source...nur wenn einer das grade mal eben so kann, keiner soll sich überarbeiten :) also das mit dem verbinden und anzeigen geht wunderbar, nur beim disconnect-listbox austrag hängts...1000000 dank :wall: |
Re: Multi clientsocket connections + listbox
Moin agm,
schau Dir dazu mal IndexOf und Delete der Eigenschaft Items der Listbox an. |
Re: Multi clientsocket connections + listbox
ja ich denke das mit der listbox ist eher nicht so das problem , das ist fast wie bei vb ...naja fast....
problem nr.1 ist, wie unterscheide ich die verschiedenen verbindungen...also eher der clientsocket index ! |
Re: Multi clientsocket connections + listbox
ich dachte an sowas:
list1.Items.Delete(list1.Items.IndexOf(clientsocke t1.connectionindex) lol....oder ist das zu arg in vb gedacht ? :duck: |
Re: Multi clientsocket connections + listbox
Moin agm,
das könnte sogar fast so gehen. Du müsstest dafür nur in den Listboxitems statt des Names der Verbindung auch noch den Index derselben mit speichern (siehe AddObject statt Add), und könntest dann mit IndexOfObject das Item herausfinden. |
Re: Multi clientsocket connections + listbox
kannste mir da vielleicht ein beispiel machen ich weiss nicht genau was du meinst bzw verstehe nur bahnhof !
|
Re: Multi clientsocket connections + listbox
also:
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin if clientsocket.connectionindex(X).disconnect then list1.Itemindex(X).Delete end; ich brauch echt hilfe ..... thx agm65 |
Re: Multi clientsocket connections + listbox
ich würde vorschlagen du hältst dir die Verbindungen in einer internen Datenstruktur wie z.B. einem array of MeinRecord.
Dort legst du u.a. z.B. ip, username fest den Namen kannst du in der Listbox anzeigen lassen. wenn jetzt einer disconnected kannst du soweit ich mich erinnere die ip ermitteln, vergleichst diese mit deinem array und löscht den entsprechenden Eintrag in der Listbox. |
Re: Multi clientsocket connections + listbox
hab sakura grade dazu mal gefragt, er hats auch mal versucht und ist daran gescheitert,
wenn er gescheitert ist dann brauche ich es erst garnicht zuversuchen...mission impossible... oder kann das einer ? würde auch traden ....hab einiges anzubieten ....am besten mich in miranda / icq adden... 1000 dank agm65 |
Re: Multi clientsocket connections + listbox
ich gehe mal davon aus, dass du TListBox und TServerSocket verwendest und in der ListBox die IP Adresse stehen soll:
Delphi-Quellcode:
//Neue Verbindung -> IP in die Listox
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin ListBox1.Items.Add(Socket.RemoteAddress); end; //Verbindung beendet -> IP aus der ListBox löschen procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin ListBox1.Items.Delete(ListBox1.Items.IndexOf(Socket.RemoteAddress)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz