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

ke^kxBetreff: Benötige ich für jeden Spieler einen Port? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Empfangen & Senden kannste sogar auch über den gleichen Port machen. | ||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nah. Das ist dann aber sehr verwirrend ![]() |
||
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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... ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@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 ![]() |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group