Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C++] NAT Traversal

  1. #1

    [C++] NAT Traversal

    Sto sviluppando un semplice videogame multiplayer in c++ che usa il protocollo UDP per connettersi ai servers.
    Il problema è che se il server sta su un IP pubblico funziona tutto(anche i giocatori dietro NAT si riescono a connettere) mentre se sta su un IP condiviso(dietro NAT) non funziona. La mia idea era quella di permettere anche ai giocatori di aprire dei server.
    Giochi come crysis o altri permettono di aprire server anche a chi non ha IP pubblico usando NAT negotiation/NAT traversal ma non ho trovato molte informazioni.
    Un'idea che mi era venuta era quella di creare un master-server su IP pubblico che instrada le connessioni server-client ma aumenterebbe in modo esponenziale il ping.

  2. #2
    Il sistema più semplice credo sia usare UPnP per chiedere al NAT di effettuare il port forwarding richiesto - sempre ovviamente che il NAT non sia configurato per non dare retta alle richieste UPnP; in alternativa, è possibile provare ad effettuare l'UDP hole punching, ma non è banalissimo e non è detto che funzioni sempre. In ultima analisi, il metodo che funziona sempre correttamente è chiedere all'utente di effettuare il port forwarding o far usare a tutti i partecipanti una VPN zero-config come Hamachi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    ci avevo pensato ad una VPN, però vorrei che si autoconfigurasse quando si installa il gioco, senza che l'utente faccia nulla. Avevo trovato tinc (http://www.tinc-vpn.org/) che funziona da linea di comando, ma non riesco a configurarlo, o almeno configuro tutto, poi scrivo da linea di comando tincd -n netname e mi appare :
    codice:
    tinc.netname service installed
    tinc.netname service started
    poi vado nel taskmanager>servizi e trovo il servisio tinc.netname con stato interrotto, perciò non capisco come usarlo

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.