[gelöst] Kleines Beispiel für UDP-Network ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

[gelöst] Kleines Beispiel für UDP-Network ?

Beitrag von STARGÅTE »

Tachchen,

bis jetzt habe ich immer nur Spiele mit TCP netzwerkfähig gemacht, nun wollte ich mal UDP testen, weil es für schnelle Spiele besser geeignet sein soll.

Nun finde ich aber kein gutes Beispiel wo gezeigt wird wie das zu realisieren ist.

Ich brauche ein Beispiel wo zB. 3 Leute sind wo immer einer den andere 2 Daten senden kann, (das klassische Server-Client-System gibs ja bei UPD nicht)
Zuletzt geändert von STARGÅTE am 19.02.2009 01:59, insgesamt 2-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>(das klassische Server-Client-System gibs ja bei UPD nicht)
Was? :o
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

X0r hat geschrieben:>(das klassische Server-Client-System gibs ja bei UPD nicht)
Was? :o
Klar, UDP ist nicht Verbindungsorientiert. Desshalb verwundert es jeden, der sich die PB Befehle anschaut.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Ja aber in PB lässt sich das doch trotzdem ganz normal realisieren, denke ich. Oder etwa nicht?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ne eben nicht, ich (wir) probieren ja schon n ganze weile, aber diese klassische Server ... und dann n paar Clienten ran funzt nicht.

die Clienten senden zwar über UDP an den Server aber der weiß nicht wie er zurück senden soll ...

Also einfach aus TCP ein UDP machen geht nicht ! da muss man schon noch n paar hilfsdaten speichern aber wie und was ?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>Also einfach aus TCP ein UDP machen geht nicht ! da muss man schon noch n paar hilfsdaten speichern aber wie und was ?

Probiers mal mit der K-Net Lib.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

toller rat, an andere Stelle schreist du dazu:
"Kann mich noch gut an KNet erinnern, da war nicht mehr als ein einfacher Chat möglich..."

fällt also weg

aber ich gucke mir mal das Simple Network an...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>"Kann mich noch gut an KNet erinnern, da war nicht mehr als ein einfacher Chat möglich..."

Ist natürlich schon möglich, aber bei mir ist das Chat-Example von denen immer abgestürtzt. Das Multiplayer-Minigame hingegen lief ohne Abstürze.
Musste halt ausprobieren, wenn du es dir etwas einfacher machen willst.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

OKe die frage hat sich erledigt, habe es nun hinbekommen...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ja und wie? Wär ja auch vielleicht mal für andere interessant.

Zur Definition: Das Client-Server-System gibt es IIRC und IMHO schon bei UDP. Es ist zwar ein zustandsloses Protokoll, aber dennoch kann der Client zum Server eine Verbindung aufbauen und man kann zurücksenden.

Viele Spiele nutzen TCP und UDP, also beides. Du kannst es genauso wie die machen: TCP nutzt du für Sachen vor dem Spiel (Verbindungsaufbau, Chatnachrichten versenden) und wenn das eigentliche Spiel losgeht, werden die internen Spieldaten (Positionen der Spieler, etc.) über UDP verschickt. Also In-Game kommt UDP zum Einsatz und TCP für "unwichtigere" Dinge, wie Chatnachrichten oder wenn du dem Clienten sagen willst, zu welchem UDP-Port er sich gleich verbinden soll.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten