c++ mehrere IPs
-
C_Cheaf schrieb:
Wozu werden meherere IP-Addressen überhaupt benötigt?
mehrere subnets z.b., sogar wenn man nur ein physikalisches netzwerkinterface hat. ist alles möglich.
-
Man kann aber auch ohne weiteres eine Netzwerkkarte mit mehreren IPs ausstatten.
-
Also ich brauche das ganze für mein Multiplayerspiel. Das Problem ist, dass ich noch nie gesehen habe, dass bei einem Multiplayerspiel mehrere IPs angezeigt werden. Deswegen war ich auch so überrascht, dass es soetwas überhaupt gibt.
Genügt es eurer Meinung nach, einfach die 1. beste IP anzuzeigen, oder sollte ich alle IPs anzeigen?mfg,
C_Cheaf
-
Brauchst du überhaupt die interne IP, oder die, die (im Internet z.B.) von "außen" sichtbar ist?
-
Nein es geht um die IP im LAN. Die Internetip ermittle ich mit Hilfe von PHP.
mfg,
C_Cheaf
-
wenns um ein reines spiel geht, wird es für dich garnicht interessant,
dann die meisten computer haben, wie du schon angemerkt hast nur eine ip,
wenn es mehere gibt, solltest du versuchen völlig sinnlose rauszufiltern(127.0.0.1) z.B. loop interface
usw.wenn es dann noch mehr gibt, dann gehe doch alle durch, und versuche eine verbindung aufzubauen, und merke dir nur die, mit der es geklappt hat ...
-
Mein Code gibt sowieso als 1. IP die wichtigste zurück. Also die, die man auch bei den Laneigenschaften sieht. Also werde ich die anderen einfach vernachlässigen.
mfg,
C_Cheaf
-
naja aber mal ganz dumm angenommen, du hast jemanden dasitzen
der 2 netzwerkkarten hat, eine für eine verbindung nach draussen,
und eine nach innen, dann wird dein code nicht erkennen können welche
"wichtiger" ist, da finde ich das mit testen schon besser,
denn die nach innen wird keine verbing zum inet (deinem server) findenaber fürs erste wird deine lösung schon reichen, aber du sollest im hinterkopf
behalten, das sowas möglich (und meiner meinung nach) nicht mal selten ist
-
So tragisch (das man keine Verbindung herstellen kann) ist es nicht. Wenn jemand eine Sitzung erstellt, steht als beiläufige Info seine IP dabei. Wenn nun jemand weis, dass das die Falsche IP ist, dann kann er immer noch wo anders nachsehen und seine andere, richtige IP rausfinden. Diese braucht er dann nur dem anderen Spieler sagen, dieser gibt die richtige ein und schon kann wieder gespielt werden.
mfg,
C_Cheaf
-
Ich haeete es so geloest, dass das Spiel, sobald du im entsprechenden Menue fuer LAN-Spiele bist, aktiv Anfragen auf alen Verfuegbaren Kanaelen rausgibt udn auf die gleichen Anfragen von anderen LAN-Teilnehmern lauscht. damit kann sofort angezeigt werden, wenn sich zwei Teilnehmer gefunden haben, man muesste dann ja auch automatisch feststellen koennen, von welcher IP die Anfragen kommen.
-
pumuckl schrieb:
Anfragen auf alen Verfuegbaren Kanaelen rausgibt und auf die gleichen Anfragen von anderen LAN-Teilnehmern lauscht.
Meinst du Broadcast-Nachrichten?
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Klingt so, als würde er broadcasts meinen - scheint btw auch mir die sinnvollste Lösung zu sein - mit Abstand...
Seine eigene IP bekommt man da (meines Wissens) zwar trotzdem nicht so wirklich raus (über paar Umwege aber mit Sicherheit - ich glaub, die kann man so gar recht einfach rausfinden, so bald man ne Verbindung nach außen hat, bin ich mir jz aber gerad ne sooo sicher...), aber die würde man auch nicht mehr benötigen...hab doch noch ma kurz in msdn nachgeguckt:
Thema: Sockaddr [Winsock]
// Declare variables SOCKET ListenSocket; sockaddr_in saServer; hostent* localHost; char* localIP; // Create a listening socket ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // Get the local host information localHost = gethostbyname(""); localIP = inet_ntoa (*(struct in_addr *)*localHost->h_addr_list);
ich habs mir nicht wirklich angeguckt, aber ich denke, es wird schon stimmen ^^ Allerdings weiß ich nicht, was hier passiert, wenn mehrere Netzwerkkarten aktiv sind... Wahrscheinlich "nur" die primäre (oder standart-NW-Karte - wie auch immer man das nennt ^^).
Naja... Viel geholfen hab ich dir jz anscheind au ne - aber naja... hf ;o)