AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi servsersocket problem mit zuweißung
Thema durchsuchen
Ansicht
Themen-Optionen

servsersocket problem mit zuweißung

Ein Thema von G G · begonnen am 25. Dez 2005 · letzter Beitrag vom 25. Dez 2005
Antwort Antwort
G G

Registriert seit: 17. Jun 2004
192 Beiträge
 
#1

servsersocket problem mit zuweißung

  Alt 25. Dez 2005, 11:10
hi, folgendes problem ich weiß von einem client sein sockethandle, aber nun möchste ich dadurch auf seine connectionnummer (ServerSocket1.Socket.Connections[I]) schließen.

aber wie geht dies, ich habe probiert dies so zu lösen, aber dies ist ja nur eine read property

serversocket1.Socket.SocketHandle := handles; das handle selebr habe ich auf folgendem code gewonnen

[delphi]

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);

.....

handles := socket.SocketHandle;


sind dies dann beides die selebn handles oder mach cih hier wa grundliegendes falsch, und wnen alles stimmt, wie kommte ich dann auf dieses I von den connections um zu bestimmen wer wer ist?

vielen dank
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: servsersocket problem mit zuweißung

  Alt 25. Dez 2005, 18:34
Moin!

Wozu brauchst du den Index in dem Connections[] Array überhaupt???

Grundlegend ist der Eintrag in dem Connections[] Array genau der gleiche wie du ihn auch in der von dir geposteten Methode als Socket übergeben bekommst. Daher kannst du deine Aktion doch auch direkt auf diesen Socket ausführen - es ist die gleiche Instanz. Daher grundlegend die Frage: Was willst du mit diesem Index?

Eine Verwaltung anhand des Index in dem Connections-Array aufzubauen wäre mehr als schlecht, schliesslich rutschen die Sockets in dem Array nach, wenn eine Verbindung in der Liste beendet/geschlossen wird.

Also, wozu brauchst du den Index?

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: servsersocket problem mit zuweißung

  Alt 25. Dez 2005, 19:22
Geh einfach in einer Schleife alle Connections durch und prüfe, ob das Handle übereinstimmt. Dann gibt dir die Zählervariable den Index zurück.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: servsersocket problem mit zuweißung

  Alt 25. Dez 2005, 21:35
Zitat von Florian Bernd:
Geh einfach in einer Schleife alle Connections durch und prüfe, ob das Handle übereinstimmt. Dann gibt dir die Zählervariable den Index zurück.

Florian
Wozu das Handle? Wie ich schon geschrieben habe, ist die Instanz ein und die selbe, daher muss er nicht das Handle vergleichen sondern direkt die Instanz. Und deine Antwort beantwortet zwar direkt seine Frage, aber ich glaube er geht den falschen Weg, weil dieser Index mehr als unsicher ist. Er identifiziert eine Verbindung niemals eindeutig wie es z.B: die Instanz der Verbindung kann. Wenn man das auch ordentlich umsetzt, interessiert einen das Connections[] Array überhaupt nicht mehr in Bezug auf eine spezielle Verbindung die einem in einem Event von der Komponente übergeben wurde, da man an der Verbindung alles direkt mit der übergebenen Instanz erledigen kann.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 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