Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 19, 2025 10:34

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Netzwerkcode mit Delphi2005 PE
BeitragVerfasst: Mo Sep 19, 2005 10:40 
Offline
DGL Member

Registriert: Di Mär 16, 2004 22:25
Beiträge: 17
Hi,

ich würde gern ein Echtzeitstrategiespiel netzwerkfähig machen. Dazu hab ich mir in der Hilfe die TServerSocket/TClientSocket Klassen von D2005PE angeschaut. Ich glaub das ist genau das was ich brauch.

Allerdings fehlt mir noch der Durchblick!

1: Der Client braucht wohl nur ein ClientSocket Objekt, da er nur eine Verbindung zum Server hat. Was ist aber mit dem Server, der ja mehrere Clients anspricht?

2: Was machen die Server/ClientWinSocket Teile, die da (wohl automatisch) erstellt werden.

3: warum gibts beim ServerSocket keinen "Send" Befehl (aber beim ServerWinSocket?)

...um's kurz zu machen: hat mir vielleicht irgendjemand mal n einfaches Beispiel/Turorial wo das erklärt wird.
Die Delphi Demo "Chat" ist leider in .net und hat mir nicht weitergeholfen.

Gruß Steffen

PS.: Wie fasse ich eigentlich beliebige Variablen geschickt zusammen um sie gemeinsam zu verschicken?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 19, 2005 11:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
1: Bin zwar net die Leuchte was die Komponenten angeht aber ich denke mal du hast dabei einen Gedankenfehler. Es gibt einen entscheidenden Unterschied zwischen Client und Server.

Client: Ist nur in der Lage Verbindungen nach außen hin aufzubauen.

Server: Ist nur in der Lage Verbindungen von außen anzunehmen.

Sprich. Ein Client kann sich nur mit einem Server verbinden. Der Server hingegen lauscht auf einkommende Verbindungen. Und da nicht mehrere Server auf und dem selbem Port lauchen können darf es nur einen Server geben. Auf ein und dem selbem Port versteht sich. Bei den Clients ist es glaube ich so, dass es davon mehrere auf ein und dem selben Port geben kann. Weiß das aber nicht 100%tig.

Der Server unterscheidet die Clients anhand der geöffneten Verbindung. Somit ist ein Server in der Lage mit mehreren Clients zu kommunizieren.

2: Ich denke mal, dass sind die Server oder Clientobjekte sondern die Objekte die eine geöffnete Verbindung darstellen. Mit diesen kannst du dann entsprechend deine Daten verschicken. Das geht (entgegen dem Verbindungsaufbau) in beide Richtungen.

3: Weil ein Server keine Verbindung aufbauen kann sondern nur mit einer bestehenden Verbindung kommunizieren kann. Denke ich.

Demo: Kann ich dir leider nicht geben. Hab nichts.

Daten zusammenfassen. Na ja. Packe die in eine gewisse Formatstruktur und sende dann am Stück. Vergleichbar mit einer Datei die du später wieder einlesen möchtest. Ich würde dafür wohl einen TMemoryStream nehmen. Dort dann erst einmal alles nötige ablegen und dann den Speicherbereich des Streams senden. Auf der anderen Seite in einen MemoryStream wieder hineinpacken und auslesen. Das könntest du auch direkt über einen eigenen Speicherbereich machen. Das Prinzip ist wichtig. Zu erst mal irgendwo die Daten sammeln und diese dann am Stück senden.

PS: Alle Angaben ohne gewähr. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]