AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Eine Frage zu TServeroscket
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Frage zu TServeroscket

Ein Thema von SIn · begonnen am 17. Apr 2004 · letzter Beitrag vom 19. Apr 2004
Antwort Antwort
SIn

Registriert seit: 13. Apr 2004
14 Beiträge
 
#1

Eine Frage zu TServeroscket

  Alt 17. Apr 2004, 14:39
Ich denke das mir hier sicher jemand helfen kann.

Ich möchte in meinem Programm mehrere Tserversockets benutzen, ohne die Komponente dafür mehrere Male auf die Form ziehen zu müssen. Die ServerSockets sollen in einem Array verwaltet werden "array of Tserversocket". D.h ich muss alles von Hand schreiben. Soweit klappt das auch alles bei mir . Die Serversockets sind da und man kann sich mit ihnen verbinden. Mein Problem ist aber , das ich nicht weiss wie ich die onClientRead Procedure für jeden einzelnen server aufrufen kann und ihnen nicht sagen kann , das wenn einer der Server eine Nachricht bekommt, wie es damit umgegehen soll.

auf einer Inet-Seite habe ich den Tipp bekommen

Server.OnClientRead:=ServerClientRead bzw Server[i].OnClientRead:=ServerClientRead

Dort steht, das ich die Procedure dem server von Hand hinzufügen muss.
Soweit kann ich das noch nachvollziehen. Aber was kommt dann?
Wie kann ich jetzt jedem einzelnem Server sagen was er tun soll , wenn ihn eine Nachricht empfängt.

Wäre super wenn mir jemand helfen kann.

Thx im Voraus

mfg Sin
  Mit Zitat antworten Zitat
Skiron

Registriert seit: 14. Dez 2003
153 Beiträge
 
#2

Re: Eine Frage zu TServeroscket

  Alt 17. Apr 2004, 14:45
du könntest ihnen entweder allen eine eigenes Event geben oder im Event auswerten, welches Socket die nachricht gekriegt hat und dann dementsprechend auswerten. im 2. Fall könntest du mit Tags arbeiten
Mann zu Frau:
Zieh dich aus, wir müssen reden!
  Mit Zitat antworten Zitat
Benutzerbild von Manzoni
Manzoni

Registriert seit: 15. Feb 2004
Ort: Berlin
120 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Eine Frage zu TServeroscket

  Alt 17. Apr 2004, 15:33
Hi,

du schreibst eine procedure in dieser form:
procedure ServerRead(Sender: TObject; Socket: TCustomWinSocket); Diese hat die Form eines TNotify-Events. Wenn alle Server gleich mit empfangenen Nachrichten Umgehen sollen, kannst du sie "normal" schreiben. Du kannst aber auch einzelne Server unterscheiden mit
Delphi-Quellcode:
if (Sender is Server[3]) then
begin
.
.
.
end;
Für Lesevorgänge benutzt du ja den übergebenen Parameter Socket. Falls du Eigenschaften des Servers verändern willst kannst du dass ja dann z.B. so machen:
(Sender as TAbstractSocket).Active:=false;
Bob
  Mit Zitat antworten Zitat
SIn

Registriert seit: 13. Apr 2004
14 Beiträge
 
#4

Re: Eine Frage zu TServeroscket

  Alt 17. Apr 2004, 17:54
erst mal danke an euch beiden.

Hab aber noch 2-3 Fragen.

(Sender: TObject; Socket: TCustomWinSocket);


Sender ist dann die Variable wo die eingehende Verbindung drauf muss. so verstehe ich das mometan

aber wie siehts mit Socket: TCustomWinSocket aus. was macht das?


und die Procedure muss dann sozusagen in einer Schleife ständig aufgerufen werden?
  Mit Zitat antworten Zitat
Benutzerbild von Manzoni
Manzoni

Registriert seit: 15. Feb 2004
Ort: Berlin
120 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Eine Frage zu TServeroscket

  Alt 17. Apr 2004, 18:26
Sender ist die Komponente, die die Prozedur aufruft(durch die die Prozedur aufgerufen wird). Socket ist die aktuelle Verbindung.
Bob
  Mit Zitat antworten Zitat
SIn

Registriert seit: 13. Apr 2004
14 Beiträge
 
#6

Re: Eine Frage zu TServeroscket

  Alt 17. Apr 2004, 20:10
Danke dir .

ps. eine Frage noch . weist du evtl ne seite wo man sich über die ganzen Sachen erkundigen kann?

z.b was TCustomWinSocket bedeutet oder TNotify-Events.
Bin auf dem Gebiet absoluter Anfänger.

mfg Sin
  Mit Zitat antworten Zitat
Benutzerbild von Manzoni
Manzoni

Registriert seit: 15. Feb 2004
Ort: Berlin
120 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Eine Frage zu TServeroscket

  Alt 18. Apr 2004, 09:56
hi,

na aufjedenfall ist die erste Anlaufstelle die Online-Hilfe von Delphi, Stichwort TNotifyEvent. Wenn du Tutorials suchst, kann ich dir die Seite von Delphi-Source empfehlen. Gute Tips findest du bei SwissDelphiCenter.
Bob
  Mit Zitat antworten Zitat
SIn

Registriert seit: 13. Apr 2004
14 Beiträge
 
#8

Re: Eine Frage zu TServeroscket

  Alt 18. Apr 2004, 12:42
kewl
ich zieh mir das auf jedenfall rein!

So, nun hab ich aber auch wirklich alles was ich brauche.
merci nochmal
mfg SIn
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: Eine Frage zu TServeroscket

  Alt 19. Apr 2004, 14:28
Moin!

Nachdem was du hier bisher beschrieben hast frage ich mich, ob du wirklich ein Array von TServerSocket brauchst. Daher mal als Informatione: Ein TServerSocket kann mehrere TClientSocket anbinden und somit bis zu x unterschiedliche Clients gleichzeitig bedienen. Bei mehreren TServerSockets müssen alle auch unterschiedliche Portnummern haben - und ich weiss nicht ob du es so lösen wolltest, das jeder Client einen TServerSocket bekommt.

MfG
Muetze1
  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 22:15 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