Seite 2 von 4
Verfasst: 19.05.2006 13:43
von Zaphod
Das problem scheint aber eher dein Programm zu sein, denn die netzwerkbefehle sollten dafür wirklich schnell genug sein.
Du kannst übrigens schon mehrere Clients gleichzeitig (oder quasi gleichzeitig - das hängt von der verwendeten hardware ab) behandeln: du kannst zum einen mehrere Server verbindungen halten und zum anderen threads benutzen. Auch solltest du dir überlegen, ob wirklich alle clients eine information bekommen müssen oder nicht.
Zb: in deinem Text MMORPG gibt es sicher soetwas wie orte. Wird etwas gesprochen, dann müssen das nur die Clients der Spieler empfangen, die sich grade am selben ort aufhalten. Die entscheidung, ob etwas für einen client relevant ist oder nicht sollte unbedingt serverseitig entschieden werden.
Verfasst: 19.05.2006 13:51
von sen-me
Das mir schon klar, ne andre Frage.
Wie kann man die Grafiken aufm Server haben (Client hat keine) aber der Client kannse trotzdem sehn O.o
Verfasst: 19.05.2006 17:27
von RaVeN99
Du könntest die Grafiken verschicken - das würde bei 100 Spieler aber WIRKLICH für wartezeiten sorgen
Was ein lag iss, ist mir eigentlich doch recht gut bekannt, aber wie gesagt, kann ich mir persönlich schlecht vorstellen, eben aus eigener erfahrung
Die Möglichkeit die Zaphod genannt hat wäre mir auch in den sinn gekommen. Dürfte mit n wenig knobelei sicher auch möglich sein pro user einen Thread zu eröffnen. Wie gesagt, du musst es nur richtig managen
Mfg
RaVeN
Verfasst: 19.05.2006 18:33
von sen-me
Mit SendNetworkFile?
Naja das würde bei Spielen mit vielen Grafiken wirklich extrem dauern.
Verfasst: 19.05.2006 19:15
von PMV
Wenn nur der Server Grafiken besitzt, müssen alle Grafiken zu den
Clients gesendet werden ... is ja wohl logisch, PCs können auch noch nicht
hellsehen
Das ganze muss aber nur ein mal passieren ... das wäre dann quasie die
"Ladezeit". In echtzeit müssten das stark komprimierte Dateien sein, die
versendet werden sollen ... wofür auch immer das gut ist.
Und SendNetworkFile ist bei so einem Projekt eh tabu ... das musst du
alles von hand machen (SendNetworkData) und die datei dann beim Client
erstellen (CreateFile) usw. ... der Server muss ja gleichzeititg auch noch
in der Lage sein, die anderen Clients zu versorgen ... und wenn dann noch
die ganze Bandbreite besetzt ist ... geht das schlecht.
Wobei, ein SendNetworkFile in einem extra Thread ginge auch ... aber
naja, nicht so schön. Wie kommst du eigentlich üerhaupt auf ganze
Grafiken?
MFG PMV
Verfasst: 19.05.2006 23:58
von sen-me
1. Wie sende ich mit SendNetworkData eine File?
2. Wie schaff ich es, dass die Files gesendet werden an den jeweiligen Client, aber der Server nicht stehn bleibt (andere Clients wo Chat z.B. läuft stehn bleibt)
Verfasst: 20.05.2006 00:09
von Konne
Selber schrieben des Befehls. Allerdings sind IMHO die PB Befehle danke der Events so gut wie nutzlos. Ich mache netzwerk eigendlich nurnoch mit Api Zeug weil man da dann auch nen guten Fehlerreport hat. Allerdings weiss ich nicht wie dass mit UDP und API aussieht. Grafiken zu uebertragen ist aber schwachsinn. Dass macht kein Spiel. Die haben nur manchmal ne Updatefunktion. Du solltest aber erstmal mehr erfahrung mit netzwerk sammeln bevor du dass beste spiel der Welt programmieren willst...
Verfasst: 20.05.2006 00:26
von MVXA
> Dass macht kein Spiel.
Natürlich machen das diverse Spiele. Wie soll der Server bitte die Map mit
dem Client syncronisieren?
> Allerdings weiss ich nicht wie dass mit UDP und API aussieht.
genau so wie mit TCP...
Verfasst: 20.05.2006 09:31
von sen-me
Ich hab auch nicht vor das allerbeste Spiel der Welt zu machen...
Und ich hab schon ein Chat und ein Updater(FTP) gemacht mit PB.
Wieso kann ich es nicht einfach mit SendNetwrokFile machen?
(In einem Thread)
Verfasst: 20.05.2006 16:11
von PMV
klar kannst du
Ich frag mich nur, wofür das gut sein soll. Also überhaupt Grafiken zu
senden. Als Update-Funktion ist es natürlich gut.
Ich hatte letzte mal Probleme, als ich SendNetworkFile und
ReceiveNetworkFile benutzt hab. Was genau weis ich nicht mehr, nur, das
ich es hätte besser mit den anderen Befehlen gemacht

... Probieren
geht über studieren
Aber wenn du das schon mal gemacht hast, warum kannst du es dann
noch nicht?

. Ein Spiel und ein Chat senden nur Daten, sie verwenden
nur andere Protokolle, die du selber entwickeln musst. Im prinzip sinds
aber die selben vorgehensweisen

. Das einzige ist, das ein Spiel
wesentlich mehr Daten hat, die gesendet werden muss. Dabei ist
strukturierte und gut überlegte rangehensweise wichtig. Es ist aber auch
klar, das ISDN oder gar 56k Modem da eher schlechte karten haben. Und
das es dabei dann legt auch

... aber ich weis ja nicht, was im endeffekt
dein Spiel an daten hat, die gesendet werden sollen.
MFG PMV