AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Netzwerkspiel realisieren - P2P
Thema durchsuchen
Ansicht
Themen-Optionen

Netzwerkspiel realisieren - P2P

Ein Thema von Maximus · begonnen am 9. Okt 2005 · letzter Beitrag vom 11. Okt 2005
Antwort Antwort
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#1

Netzwerkspiel realisieren - P2P

  Alt 9. Okt 2005, 16:59
Hallo,

Ich arbeite zurzeit an einem Schachprogramm, welches aus Netzwerkfähig sein soll. Vielleicht hab ihr eine Idee wie ich es am besten lösen soll. Ich benutze die WinSocket Komponenten (TServerSocket & TWinSocket).

Ich hab mir schon mal ein paar Gedanken gemacht / Tests ausgeführt.

1.) Jedes Spiel erhält einen Server zum empfangen der Nachrichten und einen Clienten zum senden von Nachrichten. Hier ist jedoch ein Server sowie ein Client zuviel.

2.) In einem Spiel wird entweder ein Server oder ein Client erstellt, je nachdem was gebraucht wird, und eine Kontrollklasse fragt immer ab ob man jetzt Server oder Client ist und Sendet dann die Daten. Da sich Server und Client vom Aufbau her sehr ähnlich sind wäre eine Kontrollklasse nicht schwer zu realisieren.

3.) Etwas anderes ...

Was sind eure Meinung, Ideen und Vorschläge dazu?

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

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

Re: Netzwerkspiel realisieren - P2P

  Alt 9. Okt 2005, 17:05
Hallo,
versuch es mal mit jeweils einem Indy UDP Server und einem UDP Client.

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

Registriert seit: 26. Okt 2003
169 Beiträge
 
#3

Re: Netzwerkspiel realisieren - P2P

  Alt 9. Okt 2005, 17:27
Mit Indys hab ich bisher nur schlechte Erfahrungen gemacht. Deswegen möcht ich bei den WinSockets bleiben.

Ich hab jetzt mal angefangen es mit der Idee 2 zu versuchen, bisher scheint es zu funktionieren, auch wenn es mir manchmal so vorkommt als hätt ich irgendwie teilweise einiges an Code sparen können, obwohl mir trotz genauerem überlegen nichts eingefallen ist wie.

Ich bin dennoch für Ideen offen, vielleicht kommt noch irgendwas geniales

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

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

Re: Netzwerkspiel realisieren - P2P

  Alt 9. Okt 2005, 17:28
Die IndyUDP Komponenten sind (meiner Meinung nach) sehr simpel und funktionieren perfekt. Ich finde diese ausgesprochen gut. Außerdem ist das UDP Protokoll für eine wirkliche p2p Lösung die einzige Möglichkeit.
Du solltest es einfach mal damit versuchen

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

Registriert seit: 26. Okt 2003
169 Beiträge
 
#5

Re: Netzwerkspiel realisieren - P2P

  Alt 9. Okt 2005, 18:10
*in seinen Gedanken kramt*
Kann es sein das es nicht so war?
UDP = schneller als TCP
TCP = Sicher, dass das Packet ankommt

Wenn es so stimmt, dann wäre aber das TCP Protokoll um einiges besser geeignet für eine Schachsimulation, bei der es nicht auf die Schnelligkeit des Sendens ankommt sonder auf die Zuverlässigkeit, dass die Packete ankommen.

MFG
Maximus
  Mit Zitat antworten Zitat
monta

Registriert seit: 18. Okt 2004
Ort: Dresden
141 Beiträge
 
#6

Re: Netzwerkspiel realisieren - P2P

  Alt 9. Okt 2005, 18:17
pauschal gesagt ist es so.
TCP baut ja eine Steuerungsleitung auf, weshalb es ja auch langsamer ist, da sich Client und Server über den 'Dreiwegehandschlag' erst verbinden müssen. Allerdings wird da halt auch der Empfang jedes Pakets bestätigt.
Bei UDP kann durchaus mal ein Paket verloren gehen. Aber du könntest dies ja auch zusätzlich in deinem Programm abfragen.
Obwohl ich glaube ich auch zu TCP tendieren würde.
Johannes M.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Netzwerkspiel realisieren - P2P

  Alt 9. Okt 2005, 19:49
Du kannst ja wirklich die Datenübertragung mit TCP machen.
Aber wenn du automatisch sehen möchtest wer im Netzwerk ist, bzw. wer gerade ein Spiel aufgemacht hat, dann benötigst du UDP. Da bieten sich die Indys wirklich an.

Ich hab mal so was programmiert, unteranderem konnte das Programm sehen wer gerade Online ist. Der Quellcode ist zwar etwas unübersichtlich, wenn du dir es dennoch anschauen möchtest dann hier.
Andreas
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#8

Re: Netzwerkspiel realisieren - P2P

  Alt 9. Okt 2005, 20:08
Ok. Ich werde es auf jedenfall erstmal mit TCP realisieren und dann eventuell mal schauen wie es mit UDP funktioniert.

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von Net7
Net7

Registriert seit: 22. Jun 2004
Ort: Lauenburg
161 Beiträge
 
Delphi 7 Professional
 
#9

Re: Netzwerkspiel realisieren - P2P

  Alt 11. Okt 2005, 18:17
Hi Maximus



Habe da was vorbereitet. Ich hoffe es hilft dir weiter.

Das Programm veranschaulicht dir das im groben. Aber für ein parr Schachkoordinaten reichts allemal.
Es ist Server und Client zugleich.

Quellcode liegt bei, ist auch gut dokumentiert.

Mfg Net7
Angehängte Dateien
Dateityp: rar tutorial_185.rar (185,4 KB, 123x aufgerufen)
Marko
So`ne Atombombe kann einem den ganzen Tag verderben!
Eine eigene DLL in C++ geschrieben wird meist ein Sklave für mein Delphi/Pascal.
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#10

Re: Netzwerkspiel realisieren - P2P

  Alt 11. Okt 2005, 18:44
Wenn ich Datei nur schon vorher gehabt hätte, hätte ich mir viel Mühe ersparen können. Aber trotzdem danke Net7, das Tutorial kann mir bestimmt auch gut als Referenz dienen.

Naja inzwischen läuft rein aus der Sicht des Netzwerkes alles wunderbar (TCP|WinSockets) ...

MFG
Maximus
  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 13:50 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