AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Einfache Netzwerkkomponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Einfache Netzwerkkomponenten

Ein Thema von arbu man · begonnen am 19. Apr 2006 · letzter Beitrag vom 19. Apr 2006
Antwort Antwort
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#1

Einfache Netzwerkkomponenten

  Alt 19. Apr 2006, 10:58
Hi,

Ich programmiere ein Multiplayer Spiel in OpenGL zur Zeit suche ich eine einfache Möglichkeit die komunikation der Spiele im Netzwerk(LAN an Internet möchte ich gar nicht erst denken), leider hab ich bisher keine Erfahrungen in Sachen Netzwerk. Deswegen meine Frage kennt da jemand eine gute Möglichkeit die einfach zu nutzen ist, um daten von einen PC an alle anderen auf denen das Spiel läuft zu senden ?

thx, arbu man
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#2

Re: Einfache Netzwerkkomponenten

  Alt 19. Apr 2006, 11:02
Die Standardantwort: die Hier im Forum suchenIndy-Komponenten . Da findest Du auch genug Beispiele hier im Forum.
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#3

Re: Einfache Netzwerkkomponenten

  Alt 19. Apr 2006, 14:42
Zitat von Thorben77:
Die Standardantwort: die Hier im Forum suchenIndy-Komponenten . Da findest Du auch genug Beispiele hier im Forum.
Warum überrascht mich diese Antwort nicht (scheint wohl die meist verwendete Komponente(n) zu sein) OK ich hab mich mal etwas näher mit den Indys auseinander gesetzt und bin beim TIdTCPClient(und Server) sethen geblieben(die Demo sieht nicht schlecht aus ).


Aber sind die Komponenten TIdTCPClient(und Server) auch für Netzwerkspiele geeignet da die CPU auslastung immer bei 100% liegt und die Nachrichten in einen Thread abgefragt werden oder gibt das Probleme ?
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#4

Re: Einfache Netzwerkkomponenten

  Alt 19. Apr 2006, 14:48
Zitat von arbu man:
Aber sind die Komponenten TIdTCPClient(und Server) auch für Netzwerkspiele geeignet da die CPU auslastung immer bei 100% liegt und die Nachrichten in einen Thread abgefragt werden oder gibt das Probleme ?
Eigentlich sollte es keine Probleme geben. Musst dir halt noch 'nen Protokoll ausdenken.. und dann dürfte das klappen..
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#5

Re: Einfache Netzwerkkomponenten

  Alt 19. Apr 2006, 14:53
Zitat von Daniel G:
Eigentlich sollte es keine Probleme geben. Musst dir halt noch 'nen Protokoll ausdenken.. und dann dürfte das klappen..
Das ist schön nur was weisst Protokoll ausdenken, du wie mache ich das
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#6

Re: Einfache Netzwerkkomponenten

  Alt 19. Apr 2006, 15:34
Je nach dem, was es für ein Spiel ist, könntest du auch UDP anstelle von TCP benutzen.
UDP ist ein sogenanntes "verbindungsloses" Protokoll, d.h. du schickst einfach Daten an einen
Zielrechner in der Hoffung sie kommen an

Dabei können sich Pakete überholen oder verloren gehen, dafür ist der Overhead (zusätzlich
anfallende Daten, die nur intern genutzt werden und nicht von dir) sehr gering.
Meist ist UDP auch schneller als TCP sodass es für actionreiche Spiele meist besser geeignet ist.
(Und wo es nicht so viel ausmacht, wenn mal geringe Informationen verschluckt werden)

Was Daniel G mit Protokoll meinte:
Du musst dir "Kommandos" überlegen, welche du losschicken kannst
und welche dann beim Server/Client gewissen Aktionen oder Antworten auslösen.
Das kann schnell viel werden, ist aber an sich nicht schwer zu implementieren.

z.B. könntest du dir Konstanten definieren:
Delphi-Quellcode:
const
  DO_THAT = 'DOIT';

procedure Button1Click(Sender: TObject);
begin
 Client.Socket.SendText(DO_THAT);
end;

procedure ServerOnRead(bla blubb);
var Data: string;
begin
  Data := Socket.ReceiveText;
  if Data = DO_THAT then
    ShowMessage('Ich mache was');
end;
(Wirklich nur gaaaanz grob)
Manuel
  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 12:23 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