AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TclientSockset und TServerSocket
Thema durchsuchen
Ansicht
Themen-Optionen

TclientSockset und TServerSocket

Ein Thema von xthing · begonnen am 15. Jul 2006 · letzter Beitrag vom 15. Jul 2006
Antwort Antwort
xthing

Registriert seit: 3. Jun 2006
69 Beiträge
 
#1

TclientSockset und TServerSocket

  Alt 15. Jul 2006, 06:57
Hi Leuete,

ich habe 3 Probleme und darüber die Nacht gegrübelt .

Also, ich möchte über den TClient ein SQL Statement versenden. Das klappt. Nun soll der TSockest Server dieses Statement in Empfang nehmen und über Tquery eine Datenbankabfrage starten. Das klappt auch und der Tclient bekommt den Inhalt einer Tabelle geliefert. Nun zu meinen Fragen:

1. Manche Sql Abfragen dauern länger und ich möchte den Client schliessen. Wie kann ich dem Server klarmachen: Der Cleint ist geschlossen sende später?

2. Wie kann ich mehrere Anfragen an den Server senden und diese nacheinander abgearbeiten lassen?

3. Wenn ich mit mehreren Clients arbeite, wie verwalte ich am Server die SQL Abfragen? D.h. wie weiss der Server welcher Client die SQL Abfrage geschickt hat?

Eventuell muss ich Threadlisten anlegen, bin mir aber nicht sicher und weiss ehrlich gesagt nicht wie das funktioniert.

Ich weiss, das sind eine Menge Fragen. Es wäre schön, wenn ihr mir Helfen könntet.

Viele Grüsse
xthing
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: TclientSockset und TServerSocket

  Alt 15. Jul 2006, 16:00
Zitat von xthing:
1. Manche Sql Abfragen dauern länger und ich möchte den Client schliessen. Wie kann ich dem Server klarmachen: Der Cleint ist geschlossen sende später?
Beim Client einfach schliessen und der Server bekommt dann schliesslich dies mit über das Ereignis OnClientDisconnect wo ihm auch gleich der Socket des Clients mit übergeben wird und er somit weiss, welcher Client das war.

Zitat von xthing:
2. Wie kann ich mehrere Anfragen an den Server senden und diese nacheinander abgearbeiten lassen?
Bau dir eine Liste wo du nacheinander die ankommenden Anfragen einreihst und vorne nacheinander abarbeitest.

Zitat von xthing:
3. Wenn ich mit mehreren Clients arbeite, wie verwalte ich am Server die SQL Abfragen? D.h. wie weiss der Server welcher Client die SQL Abfrage geschickt hat?
Bei jedem Ereignis des Sockets, so auch wenn du Daten empfängst, bekommst du mit Socket eine eindeutige Instanz pro Client geliefert. Diese kannst du dir auch woanders vermerken - z.B. zu der jeweiligen Anfrage - um dann nach erfolgter Abarbeitung der Abfrage direkt diese Instanz zu nehmen und ihr das Ergebnis zu übergeben. Du musst nur darauf achten, dass nach einen OnClientDisconnect diese Instanz nicht mehr gültig ist, also musst sie zurücksetzen, wenn du sie dir noch woanders vermerkst.
  Mit Zitat antworten Zitat
xthing

Registriert seit: 3. Jun 2006
69 Beiträge
 
#3

Re: TclientSockset und TServerSocket

  Alt 15. Jul 2006, 16:30
@Muetze1

Danke, zu den Punkten 1+2 hab ich verstanden. Aber zu 3. nicht so ganz. Wie kann ich mir die Instanz merken und wie kann ich diese identifizieren. Ich hab was von Socket als Integer Wert gelesen (client.Socket.Connect(Socket:Integer). Ist das eine Art Socket Nr.?

Danke noch mal für Deine Hilfe. Ich bin im Breich Server usw. erst am Anfang.

Viele Grüsse
xthing
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: TclientSockset und TServerSocket

  Alt 15. Jul 2006, 17:27
Client.Socket ist die genannte TCustomWinSocket Instanz beim TClientSocket und Server.Socket.Connections[] sind die TCustomWinSocket Instanzen für die Clientverbindungen. Aber wie gesagt: bei jedem Ereignis des TServerSocket und des TClientSockets bekommst du doch einen Parameter namens "Socket" vom Typ TCustomWinSocket mit übergeben. Dies ist der jeweilige Socket der das Ereignis ausgelöst hat.

Die Klasse TCustomWinSocket bietet dir alle Funktionalitäten durch Methoden an um bestimmte Aktionen über den Socket zu machen...
  Mit Zitat antworten Zitat
xthing

Registriert seit: 3. Jun 2006
69 Beiträge
 
#5

Re: TclientSockset und TServerSocket

  Alt 15. Jul 2006, 17:53
Danke ..., jetzt habe ich einen Weg gefunden. (denke ich)

Bye Bye
Ralf
  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 08:02 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