[SDL_net] IP-Adresse im loklen Netzwerk bekannt geben
Verfasst: 02.01.2011, 00:21
Hallo und ein frohes Neues!,
ich habe leider überhaupt keine Erfahrung mit Netzwerken und Netzwerkprogrammierung. Habe nun die Doku und einige (zugegebenermaßen meistens nicht sehr hilfreiche, weil direkt von der Doku abgekupferte) Tutorials zu SDL_net gelesen und stehe immer wieder vor dem gleichen Problem.
Gewollt ist: Möglichkeit für ein Spiel einen Server im lokalen Netzwerk zu erstellen, der automatisch allen anderen Mitspielern angezeigt wird.
Problem ist:
Nur TCP: Um die IP-Adresse des Servers zu erhalten, müsste man den Host-Namen kennen, den die anderen Computer ja nicht kennen.
Mit TCP und UDP: Eine eingegebene IP-Adresse müsste man ja mittels SDLNet_Write32() passend umwandeln können, um sie in SDL_net zu benutzen. Aber es wäre höchst unpraktisch, wenn jeder Spieler die IP-Adresse des Servers eingeben müsste.
Eventuelle Lösung: Aus UDP-Paket Vektoren wurde ich nicht ganz schlau. Anscheinend muss man ihnen ja keine Adressen auf channels zuweisen und sie werden trotzdem gesendet und empfangen. Kann man bei einem empfangenen Vektor aus UDP-Paketen die Herkunftsadresse auslesen? Wenn das so funktioniert, wäre das die Lösung, um den Server allen anderen Computern im lokalen Netzwerk vorzustellen. Wenn das nicht geht, wäre ich sehr verbunden, falls jemand weiß, woher die Computer die IP-Adresse oder den Host-Namen des Servers beziehen sollen.
Schonmal vielen Dank fürs durchlesen, ich hoffe jemand kann mir helfen.
ich habe leider überhaupt keine Erfahrung mit Netzwerken und Netzwerkprogrammierung. Habe nun die Doku und einige (zugegebenermaßen meistens nicht sehr hilfreiche, weil direkt von der Doku abgekupferte) Tutorials zu SDL_net gelesen und stehe immer wieder vor dem gleichen Problem.
Gewollt ist: Möglichkeit für ein Spiel einen Server im lokalen Netzwerk zu erstellen, der automatisch allen anderen Mitspielern angezeigt wird.
Problem ist:
Nur TCP: Um die IP-Adresse des Servers zu erhalten, müsste man den Host-Namen kennen, den die anderen Computer ja nicht kennen.
Mit TCP und UDP: Eine eingegebene IP-Adresse müsste man ja mittels SDLNet_Write32() passend umwandeln können, um sie in SDL_net zu benutzen. Aber es wäre höchst unpraktisch, wenn jeder Spieler die IP-Adresse des Servers eingeben müsste.
Eventuelle Lösung: Aus UDP-Paket Vektoren wurde ich nicht ganz schlau. Anscheinend muss man ihnen ja keine Adressen auf channels zuweisen und sie werden trotzdem gesendet und empfangen. Kann man bei einem empfangenen Vektor aus UDP-Paketen die Herkunftsadresse auslesen? Wenn das so funktioniert, wäre das die Lösung, um den Server allen anderen Computern im lokalen Netzwerk vorzustellen. Wenn das nicht geht, wäre ich sehr verbunden, falls jemand weiß, woher die Computer die IP-Adresse oder den Host-Namen des Servers beziehen sollen.
Schonmal vielen Dank fürs durchlesen, ich hoffe jemand kann mir helfen.