DirectPlay lokal möglich
Übersicht

![]() |
HubsiBetreff: DirectPlay lokal möglich |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo zusammen.
Ich möchte ein Spiel via DirectPlay vernetzen. Da ich kein richtiges Netzwerk zum testen zur Verfügung habe, wollte ich es lokal probieren. Ich kann dann zwar ein Spiel hosten, aber nicht joinen. Es scheitert schon beim Versuch die IP des Hosts zu erfahren ( ip=HostIP(game$) ). Kann es sein das DirctPlay so nicht ausgeführt werden kann? Zur Info: Ich habe eine Netzwerkkarte, aber die Treiber dafür sind nicht installiert (benötige das Teil ja im Prinzip auch nicht). Vielleicht liegts daran? Allerdings könnte ich dann ja auch nix hosten, oder? Wenn Code benötigt wird einfach sagen, ich stells nicht gleich rein, weil der Abschnitt doch relativ lang ist und ich den Thread hier nicht zumüllen will ![]() Wenn jemand Rat weiß, danke schonmal ![]() Edit: Sehe grade das Vertex zwischenzeitlich auf den vorigen Post geantwortet hat. Das hat sich erledigt, ich hab mich jetzt doch für DirectPlay entschieden. Trotzdem danke. Ich werds mir notieren. Irgendwann kann ich das sicher auch mal brauchen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
- Zuletzt bearbeitet von Hubsi am Mi, März 10, 2004 18:36, insgesamt 2-mal bearbeitet
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ich denke mal Werte könnten event. durch ein Bufferoverflow falsch ankommen. Bei UDP kann es ja dazu kommen, das Werte verloren gehen, deswegen machst Du ambesten eine Client-Host Prüfung. D.h. Der Host sendet an den Clienten dieses Byte. Der Client schickt ein "OK" + gesendeter Wert an den Server zurück. Kommt innerhalb eines gewählten Timeouts kein Wert beim Server an, sendet er erneut eine Anfrage an den Clienten. So kann man sicher gehen, das der Wert 100% auch vershickt und empfangen wurde, womit man eben TCP/IP durch UDP ablösen kann. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn du nur 1 Byte absolut fehlerfrei senden/empfangen willst - dann macht es absolut keinen Sinn UDP zu benutzen - benutze stattdessen TCP/IP
Bei großeren Daten benutzt man 2 Kanäle: 1. TCP/IP-Kanal - nur um checksummen zu übetragen (also ganz wenige daten) 2. UDP-Kanal - mit vielen Daten Es gibt aber auch so genannte Check-Algorithmen - damit kann ein Wert relativ einfach auf Korrektheit überprüft werden: man zählt einfach die Anzahl der bits - bei ungerader Anzahl wird 1 bit ganz am ende auf 1 gesetzt: z.B. Wert 7 = 0000 0111 3 bits gesetzt also ungerade Anzahl - das bit am Anfang wird darum auf 1 gesetzt -> 1000 0111 nach dem senden prüfst du ob bitanzahl gerade ist - sonst ist es fehlerhaft angekommen. dann brauchst du nur das letzte bit rauszulöschen und fertig. Hört sich an als ob es nicht so genau funktionieren könnte - aber in der Computer-Steinzeit wurde das immer so gemacht - Checkbit auf sogenannten "papierbändern" oder auf kasetten - selbst ganze Weltraumsonden senden so - oder es gibt safe-memory das immer so ein zusatzbit speichert - Auf DatenCD's wird es glaube auch gespeichert (auf MusikCD's nicht) |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Treiber müssen auch zum lokalen Testen installiert sein(außer bei LocalLoop vielleicht). Als IP gibts du dann einfach deine in den Netzwerkeinstellungen eingegebene IP ein. Alternativ kannst du aber auch den sog. Local Loop 127.0.0.1 als IP eintragen ... | ||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Werd das gleich mal versuchen. Danke ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group