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

Aktuelle Zeit: So Jul 13, 2025 18:56

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



Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: So Nov 02, 2003 20:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
wenn dann kann ich positionen statt tasten senden, was zu meiner methode kaum einen unterschied macht, aber die onkeydown kann ich net benutzen, da bei UDP net sicher ist das die msg ankommt

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 02, 2003 20:50 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
Also wenn es anscheinend besser ist größere pakete zu senden als immer viele kleine, ist es wohla m ende auch besser wenn der server alle einkommenden daten über abgefeuerte waffen sammelt und dann in einem paket an alle sendet, oder ? jede abschuss-info an jeden einzeln zu schicken

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 02, 2003 20:51 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Na du musst ja irgendwo deinen Tastendruck in eine Spielerposition umrechnern. Das sollte ja auf dem Server stattfinden. Und die Position würdest du dann auf dem Client berechnen und übermittelst dem Server nur die neue Position. Er vermittelt dann nur zwischen den Clients. Du müsstest dann dein Record umändern. Aber sobald das alles ein wenig Komplexer werden würde wirst du wahrscheinlich mit einem einfachem Record nicht mehr auskommen. Aber dazu muss es noch reichlich komplexer werden. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 03, 2003 00:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
An sich wäre die Sache mit dem sammeln nicht schlecht.Allerdings macht das die ganze Verwaltung deiner Netzerkereignisse recht komplex.Wie ich bereits gesagt habe,würde ich die Netzwerkkommunikation halt über nen Timer mit festem Intervall ablaufen lassen.Das hat u.a. auch den Vorteil,das man je nach Art der Verbindung auf der ein Spiel laufen soll diesen Intervall erhöhen/verringern kann.In einem 100MBit-Netz schickst du dann alle 10ms die Daten,während du bei einem Internetspiel nur alle 25ms schickst.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 03, 2003 07:07 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
wie ich diesen intervall genau einstelle muss ich allerdings noch mal sehen, aber ansonsten, danke! das mit dem intervall hat mir sehr geholfen! es schien tatsächlich so eine art paket stau dagewesen zzu sein

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 04, 2003 19:32 
Offline
DGL Member

Registriert: Mo Nov 03, 2003 20:23
Beiträge: 66
DAMALS!... als ich noch 2 rechner hatte, hate ich auch mal ein netzwerksystem geschrieben. nun habe ich 2 probleme gehabt. zum einen war alles sehr langsam. ähnlich wie von dir geschrieben. zum anderen habe ich TCP benutzt. der hänger kam dadurch, dass ich windowmessages benutzt habe, um mich von winsock darüber informiren zu lassen, dass ich post im netzwerkstack zu erwarten habe.

grosser fehler... wenn ich ein spiel mit 100% systemauslastung habe, darf ich eben lange auf solche messages warten. die lassen sich dann eben mal ordentlich zeit. UDP funzt ja im grunde nicht anders als TCP, hat aber den unschönen nachteil, dass anders als bei TCP die netpackages nicht auf richtigkeit überwacht werden. gibt man sich damit zufrieden kommt noch ein punkt. wenn du hinter einem router sitzt, kann UDP in vielen fällen (wenn nicht wirklich geilo gecodet) sehr frustrierend sein. ich persönlich würde dir eher ne TCP lösing ans bein binden als dich mit UDP von board zu lassen.

aber deine tests werden wohl die CPU nicht soweit auslasten, dass da nichts mehr mit WMs geht. noch ein punkt ist die grösse von paketen. zugrosse und zu kleine packete sind tötlich! kleine verursachen unnötigen traffik, da jedesmal der ganze headershice gesendet wird und auf ein 'ack' gewartet wird. zu grosse können mit unter verursachen, dass die applikation sich nicht mehr so gerne mit den packages beschäftigt und die ind en hintergrund drängt. DANK WINDOWS!

8KB packages sind afaik die grenze nach oben und 0,001K die unterste. ich habe dann so packages um die 1-2KB gehabt. klappte super!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 04, 2003 19:48 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Bei UPD werden die Nachrichten schon auf Richtigkeit überprüft, nur bei Fehlern wird die Nachricht nicht nochmal gesendet sondern verworfen und muß deshalb auf dem Quellrechner auch nicht zwischengespeichert werden. Außerdem werden die Daten bei UDP nicht erst gesammelt bis ein Packet voll ist. Nur mit UPD kann man auch broadcasts in einem lokalen Netz versenden, um z.B. nach Servern zu suchen.

http://tangentsoft.net/wskfaq/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 04, 2003 19:51 
Offline
DGL Member

Registriert: Mo Nov 03, 2003 20:23
Beiträge: 66
ich weiss nicht mehr genau wie es heisst oder geht, aber du kannst das package collecting bei TCP ausstellen. irgendein alogarhytmus war das... anch dem erfinder dessen benannt.

... lässt sich ausstellen

ps: man kann UDP nutzen um locale server zu suchen aber trotzalledem TCP für den eigentlichen datenaustasch verwenden


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 04, 2003 22:18 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
es ging mir auch in keinster weise darum mein Protokoll zu wechseln, denn UDP ist einfach besser bei Netzwerk-Shooter-Games, wo es nicht problemaitsh wird wenn n paket mal ankomm und ausserdem hat es unter dem strich mehr vorteile als TCP besonders bei diesem Genre....danke trotzdem

_________________
www.extrawurst.org


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 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.008s | 14 Queries | GZIP : On ]