UDP Nachrichten Codieren?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Frusciante

Betreff: UDP Nachrichten Codieren?

BeitragDo, Jun 14, 2007 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, wie kann ich einer UDP Nachricht einen Code zuweisen? So wie bei Direct Play? Macht man das dann über verschiedene Ports? Also z.B. 8000 für Chat Nachrichten, 8001 für Playerposition usw.?! Oder gibt es dafür eine bessre Lösung?

Edit: Man benutzt bei UDP die Funktion Hostnetgame() oder Joinnetgame() nicht, richtig? Wie realisiere ich dann eine Abfrage ob ein User sich verbunden hat? Manuell eine Nachricht vom User zum Host schicken?

Dann hab ich noch eine weitere Frage die etwas komplizierter ist. Als Beispiel nehme ich mal einen Online Fussballmanager: die Clienten loggen sich auf dem Host an der permanent abfragt was die User machen, z.B. ändert jemand die Aufstellung?, gibt er einen Auftrag das Stadion auszubauen? oder läuf so gar gerade ein Spiel? Passiert nun eine dieser Sachen weil ein User diese Funktion gerade Nutzt, wie lässt man nebenher die Abfrage ob ein anderer Spieler diese Funktion auch nutzen möchte weiterlaufen? Gibt es eine Art Multithreading bei BB?

Freundliche Grüße

Frusciante

Tankbuster

BeitragDo, Jun 14, 2007 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
ALso...
Zitat:
Hallo, wie kann ich einer UDP Nachricht einen Code zuweisen? So wie bei Direct Play? Macht man das dann über verschiedene Ports? Also z.B. 8000 für Chat Nachrichten, 8001 für Playerposition usw.?! Oder gibt es dafür eine bessre Lösung?

Einfach ein Byte (oder was ähnliches) am anfang in das Paket schreiben. Wenn der Empfänger dann z.B. 1 byte ausließt, weiß er, dass du dich einloggen willst... bei 2 bytes, dass du das Spiel verlässt, usw, usw ^^
Zitat:

Edit: Man benutzt bei UDP die Funktion Hostnetgame() oder Joinnetgame() nicht, richtig? Wie realisiere ich dann eine Abfrage ob ein User sich verbunden hat? Manuell eine Nachricht vom User zum Host schicken?

GENAU!

Zitat:
Dann hab ich noch eine weitere Frage die etwas komplizierter ist. Als Beispiel nehme ich mal einen Online Fussballmanager: die Clienten loggen sich auf dem Host an der permanent abfragt was die User machen, z.B. ändert jemand die Aufstellung?, gibt er einen Auftrag das Stadion auszubauen? oder läuf so gar gerade ein Spiel? Passiert nun eine dieser Sachen weil ein User diese Funktion gerade Nutzt, wie lässt man nebenher die Abfrage ob ein anderer Spieler diese Funktion auch nutzen möchte weiterlaufen? Gibt es eine Art Multithreading bei BB?


Da sag ich nur mal TYPES!^^
Der server speichert für jeden das ab, was derjenige gerade macht. Wenn ein Spieler dieselbe Funktion aauch nutzen möchte, kann er dem server bescheid sagen, und der schickt dann eine Liste mit den ganzen gefundenen Aktionen!

EDIT: Aber was hat das mit Codieren zu tun ??? -.- ^^
Twitter
Download Jewel Snake!
Windows|Android

Lunatix

BeitragDo, Jun 14, 2007 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein udp stream reicht und der Server macht alles, nicht die clienten werden gefragt wozu sie gerade mal lust ham Wink Hostnetgame und joinetgame sind DirectPlay, ergo scheisse. sehe dir die UDP Befehle auf www.blitzbase.de an Smile
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group