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?
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.
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.