Seite 1 von 2
online,multiplayer,2buffer?
Verfasst: 04.02.2005 13:53
von captain third
Hallo mit ein ander...
ich hab mir überlegt,wenn ich ein onlinespiel machen will...also von client to server prinzip....wäre es logisch mit 2 buffern zu hantiern? ich hab gedacht den einen buffer zum senden und den andren zum empfangen.Auf die idee kam ich als ich überlegt,und zwar,wenn ich nur einen buffer benutze,und ich sende die ganze zeit,kann ich doch rein theoretisch nix empfangen....
achja und noch ne frage,wenn ich ein onlinespiel mache,muss dann wenn ich die ganze zeit sende,SendNetworkData oder SendNetworkString benutzen?
bedanke mich schonmal im vorraus für ne Antwort
Verfasst: 04.02.2005 14:47
von Laurin
Moin
Natürlich kannst du mit 2 Puffern arbeiten. Und wenn du auf der einen Seite dauernd sendest, wäre wirklich praktisch, einen zweiten Puffer als Empfang zu haben.
Zur zweiten Frage: Rein vom Prinzip ist es egal, ob du SendNetworkData() oder SendNetworkString() benutzt, weil beide eigendlich dasselbe machen. Ich würde aber SendNetworkData() verwenden, weil die Daten dann gleich in einem Puffer liegen und es einige PB-Befehle gibt, die auf Pufferdaten zurückgreifen (zB die Packer-Lib). So spart man sich später andauerndes hin- und herkopieren der Daten.
Greetz Laurin
PS: "mit ein ander" schreibt man eigendlich "miteinander"

Verfasst: 04.02.2005 21:51
von captain third
Danke Laurin....
wegn der "Packer-Lib" muss ich mir die noch runterladn oder ist des standard ???
Verfasst: 04.02.2005 22:48
von captain third
ai....mir fällt grade auf das ich kein plan habe wie ich das machen soll...des läuft ja alles über client to server...aber der andere client muss doch wissen wo der andere client ist,was er macht,wohin er will und so...wie mache ich des am dümmsten?
Verfasst: 04.02.2005 23:08
von 125
Client1-> SendNetworkString(SID,"MOVE 10,-20") //Er sagt dass er 10 nach vorne und 20 nach links geht
Server-> SendNetworkString(CID,"C1 MOVED 10,-20") //Server gibt client 2 bescheid
Client2 -> Nimmt daten entgegen und stellt gegnerfigur da....
mfg
125
Verfasst: 04.02.2005 23:19
von remi_meier
@125: Ich glaube nicht, dass das eine gute Idee wäre. Man sollte übers Netzwerk immer absolute Positionen angeben, da sonst mit der Zeit eine Verzögerung zustande kommen würde.
Sonst aber richtig!
greetz
remi
Verfasst: 04.02.2005 23:26
von 125
ok Remi hast recht
Hier korrigiert:
Client1-> SendNetworkString(SID,"COORD 10,20") //Er sagt dem Server dass er bei den Koords 10|20 ist.
Server-> SendNetworkString(CID,"C1 COORD 10,20") //Server gibt client 2 bescheid
Client2 -> Nimmt daten entgegen und stellt gegnerfigur da....
mfg
125
Verfasst: 04.02.2005 23:27
von remi_meier
Verfasst: 05.02.2005 01:21
von captain third
mmmh,das ist das was ich mir schon gedacht habe...mit sendnetworkstring einfach des ma so hinschreiben...der server leitets weiter und der näxte client siehts...nur bei einer "welt" (sagn wirs mal so) in einer "Welt" sind mehrere kleine maps (ca. 2000,2000 groß) und denn? das heist ja praktisch das ein client auf jeder map von der welt zu sehen ist...oder nicht???
Verfasst: 05.02.2005 02:54
von Ground0
hmm

ich hoffe ich ärklär das jetzt richtig
Also wen du es so ungetrennt machst ja aber kanst ja weitere Parameter mitgeben z.B. so:
Client1-> SendNetworkString(SID,"WELT 1,COORD 10,20") //Er sagt dem Server dass er bei den Koords 10|20 ist in der Welt 1.
Server-> SendNetworkString(CID,"C1 COORD 10,20") //Server gibt client 2 bescheid wen dieser in derselben Welt hockt...
Client2 -> Nimmt daten entgegen und stellt gegnerfigur dar.
Gruss Ground0