Autor Beitrag
Basti
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 345

Windows Vista
D2005 Pers, D7 Pers
BeitragVerfasst: Di 10.01.06 16:58 
Hallo,
ich habe jetzt ein kleines 3D TicTacToe (auch als XXO bekannt) fertig
und kam auf die Idee das ganze jetzt auch über Internet spielbar zu machen.

Ich habe hier schon ein paar gute Tutorials und Beiträge zum Thema Datenübertragung
gelesen und denke nicht, dass ich damit Probleme bekomme - ist ja auch nicht viel zu übertragen.

Meine Frage ist bloß, wie ich am besten die Verbindung zum 2. PC herstelle.
Dazu brauche ich ja die IP Adresse. Die kann ich ja schlecht vom Spieler eingeben lassen,
denn selbst wenn er mit einem bekannten Spieler spielen möchte, kann das problematisch werden,
wenn er nicht weiss wie man die IP herausfindet etc ...
Also wäre es doch besser, wenn ein Fenster aufgeht und eine Liste erscheint, von denjenigen,
die eine Verbindung suchen. Die spannende Frage ist bloß, wie ich an die Liste komme.
Mit nur 2 PC's geht das sicher nicht - da muss ich vermutlich eine Basis zwischenschalten,
die die IPs sammelt.

Meine Überleegung war eine PHP Seite auf meiner Website einzurichten, die mit den entsprechenden
Parametern aufgerufen wird und dann die IPs in eine Datenbank einträgt bzw. die vorhandenen ausgibt.
Ich vermute aber, dass es da bessere Möglichkeiten gibt - habt ihr da Ideen?

Das 2. ist, dass ich ja dann einen Client und einen Server brauche.
Wie kann ich das entscheiden? Jeder User hat ja das gleiche Programm.
Die Frage ist wahrscheinlich leicht zu beantworten, aber das zerbricht mir gerade den Kopf.

Wäre nett, wenn ihr mir ein paar Hinweise geben könntet.
Danke
Sebastian

_________________
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Di 10.01.06 17:23 
Eine ganz simple Lösung wäre, wenn du in dem Programm immer die _eigene_ IP anzeigst. Dann kann der Gegenspieler nachfragen und diese bei sich von Hand eintragen.

Ansonsten gab es kürzlich schonla suwas. Guck doch mal in der Suchfunktion unter portscanner.

Beste Grüße
Tastaro
Arno Nym
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Di 10.01.06 17:59 
Hi,
ich hab meine kleinen Spiele immer so Multiplayer-fähig gemacht:
I. jedes Programm hat eine TCPIPClient und eine TCPIPServer Komponente
II. Es existiert auf deiner Homepage/Webspace eine Textdatei in denen aktive Server gespeichert sind
II. ein Spieler startet den Server, ließt seine eigene globale IP aus dem Internet aus, und trägt diese dann in die Textdatei ein (evtl noch Port und Infos, Spieler etc. dazu eintragen)
III. Der andere Spiele startet die Clientversion und lädt sich die Textdatei oder schaut sie sich nur an (die Addresse deiner Webseite ändert sich ja nicht, und muss natürlich bekannt sein)
IV. Der Client wählt einen Server aus und verbindet sich dann mit diesem, Kommunikation sollte dann am besten über ein Protokoll laufen.

allgemein empfiehlt es sich manchmal den Umweg zu machen und auch den Spieler der die Serverversion gestartet hat, ebenfall eine Clientversion mitlaufen zu lassen der sich dann ebenfalls zum (eigenen) Server verbindet. So das die Daten-Auswertung bei jedem Client gleich abläuft, und der Server nur als Mirror (also als Spiegel der nur Daten empfängt und weiter verteilt) funktioniert. Das hat unteranderem den Vorteil das beide Clients dann immer den selben Informationstatus haben.

Wenn du noch fragen hast bzw. nicht weiterkommst, kann ich auch gerne mit Code aushelfen...

Ciau erstmal, Arno Nym
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 11.01.06 11:14 
Moin!

user profile iconBasti hat folgendes geschrieben:
Ich habe hier schon ein paar gute Tutorials und Beiträge zum Thema Datenübertragung gelesen

Dazu kann ich dir auch mein brandneues Protokoll-Chat-Tutorial ans Herz legen. 8) :wink:

user profile iconBasti hat folgendes geschrieben:
Meine Frage ist bloß, wie ich am besten die Verbindung zum 2. PC herstelle.
Dazu brauche ich ja die IP Adresse. Die kann ich ja schlecht vom Spieler eingeben lassen,

Ja wieso denn nicht? Letztendlich läuft es dabei doch immer auf sowas hinaus, du mußt den anderen PC doch irgendwie erreichen.

user profile iconBasti hat folgendes geschrieben:
wenn er nicht weiss wie man die IP herausfindet etc ...

Dann sollte derjenige besser keine Netzwerk-Spiele spielen... :wink: Andersrum: Bau eine Funktion ein, die die eigene IP (lokal/WAN) angzeigt, fertig. :D

user profile iconBasti hat folgendes geschrieben:
Also wäre es doch besser, wenn ein Fenster aufgeht und eine Liste erscheint, von denjenigen, die eine Verbindung suchen.
[...]
Meine Überleegung war eine PHP Seite auf meiner Website...

Ähm, sprengen wir da nicht ein bischen die Verhältnismäßigkeiten? :wink: Das ist kein MMORPG, sondern ein Spiel für 2, in Worten ZWEI, Leute; was glaubst du, wielange einer darauf warten will, bis ein anderer mit ihm spielt? :mrgreen:

Weiterhin: wenn ich einfach nur in meinem LAN, oder per CrossOverKabel mit zwei PCs, spielen will, dann brauche ich eine Internetverbindung, weil dein Prog nach seiner Webseite mault? :wink: (kleiner Scherz, nicht so ernst nehmen) Also IMHO gehst du da mit Atombomben auf Spatzen los.

user profile iconBasti hat folgendes geschrieben:
Das 2. ist, dass ich ja dann einen Client und einen Server brauche.
Wie kann ich das entscheiden? Jeder User hat ja das gleiche Programm.

Mach einen Button "Einladen" und einen Button "Beitreten", der Einladende ist der Server, der Beitretende der Client. Server- und Client-Funktionalität muss natürlich beides in deiner Anwendung vorhanden sein.

cu
Narses