DirectPlay lokal möglich

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Hubsi

Betreff: DirectPlay lokal möglich

BeitragMi, März 10, 2004 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

Wenn jemand Rat weiß, danke schonmal Smile

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 Wink
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

BeitragMi, März 10, 2004 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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

TheShadow

Moderator

BeitragMi, März 10, 2004 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, März 10, 2004 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, März 11, 2004 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Werd das gleich mal versuchen. Danke Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group