Benötige ich für jeden Spieler einen Port?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

ke^kx

Betreff: Benötige ich für jeden Spieler einen Port?

BeitragDo, Dez 02, 2004 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin dabei ein den Internetteil eines Spieles zu schreiben und habe jetzt folgende Frage: Ist es wirklich nötig für jeden Mitspieler einen eigenen Port zu öffnen oder kommen die Narichten trotzdem nicht durcheinander?

Danke, schon mal im voraus,
Jiiki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

BIG BUG

BeitragDo, Dez 02, 2004 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kommt auf das Protokoll an. TCP braucht einen Port je Spieler, bei UDP reicht ein Port(Hier solltest du die Spielernummer dann in jedem Paket mit dazupacken)
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

ke^kx

BeitragDo, Dez 02, 2004 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, so kann man ja auch endlos Rechenzeit verlieren,

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

konstantin

BeitragDo, Dez 02, 2004 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
natürlich brauchst du NICHT pro Spieler einen Port. Das ist purer Schwachsinn.
Wenn die Clients eine Nachricht an den Server schicken, versiehst du die Nachricht einfach mit einer SpielerID/einem Spielernamen und der Server wertet die Nachrichten halt aus.
Du brauchst lediglich einen Port für Incoming und einen Port für Outcoming.
 

BIG BUG

BeitragDo, Dez 02, 2004 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Empfangen & Senden kannste sogar auch über den gleichen Port machen.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

konstantin

BeitragDo, Dez 02, 2004 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Nah. Das ist dann aber sehr verwirrend Smile
 

ke^kx

BeitragDo, Dez 02, 2004 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach, keine Sorge, so doof bin ich dann doch nicht. Aber warum sollte ich über den selben Port empfangen wie senden?

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Hubsi

BeitragDo, Dez 02, 2004 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Onlinehilfe hat Folgendes geschrieben:
Man braucht also zwei Streams, denn wenn man nur einen hätte und in ihn eine Nachricht zum versenden schreibt aber gleichzeitig eine Fremdnachricht eintrifft würden wir ja unsere eigene und die Fremadnachricht verschicken. Nicht gut...
Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Jolinah

BeitragDo, Dez 02, 2004 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
TCP Beispiel:
Code: [AUSKLAPPEN]

TCP = CreateTCPServer(10118)
If TCP = 0 Then End

Type client
Field tcpstream
End Type

Repeat

  ;Eingehende Verbindungen akzeptieren
  TCP_STREAM = AcceptTCPStream(TCP)

  ;Wenn eine Verbindung aufgebaut wurde den Stream
  ;einem Clienten zuordnen
  If TCP_STREAM <> 0
    c.client = new client
    c\tcpstream = TCP_STREAM
  Endif

  For c.client = each client

    If ReadAvail(c\tcpstream)
      MSG = ReadByte(c\tcpstream)

      Select MSG
        Case 1
          param1$ = ReadString(c\tcpstream)
          WriteString(c\tcpstream,param1$)
          Print "Eingehende Nachricht: " + param1$
      End Select

    Endif

  Next

Until Keyhit(1)

For c.client = each client
  CloseTCPStream(c\tcpstream)
  Delete c
Next

CloseTCPServer(TCP)

End


So könnte man es zum Beispiel machen.
 

BIG BUG

BeitragDo, Dez 02, 2004 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
@Hubsi
Habs mal kurz extra nochmal ausprobiert. Auch wenn ich bei UDP neue Nachrichten verschicke ohne die alten ausgelesen zu haben, wird alles korrekt übertragen.

Aber bevor ich schuld bin, dass eure Games nicht richtig funktionieren nehmt halt lieber zwei Ports Smile
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group