SDL_net come ottenere l'indirizzo remoto UDP? [chiuso]

-1

Ho un problema con la sincronizzazione tcp e udp.

Sul server ha accettato la connessione TCP con: SDLNet_TCP_Accept(); Ma ora ho bisogno di sapere come ottenere l'indirizzo remoto di udp_socket del client per usarlo per inviare pacchetti di aggiornamento.

Ho già provato a utilizzare (sul server) la funzione SDLNet_TCP_GetPeerAddress(); per ottenerla. L'IP aveva ragione, ma il porto non lo era. Ho provato il SDLNet_UDP_GetPeerAddress(); (sul client) ma fornisce solo l'indirizzo locale.

Che cosa posso fare ora?

    
posta Andre Marques 22.02.2016 - 01:16
fonte

1 risposta

2

La tua connessione TCP "non sa" nulla sulle connessioni UDP. Se hai stabilito una connessione TCP e vuoi inviare pacchetti UDP aggiuntivi, dovrai determinare tu stesso la porta corretta.

Puoi chiedere al client di inviare il numero di porta tramite la tua connessione TCP esistente. Ciò non funzionerà se il client è dietro NAT però.

La soluzione migliore sarebbe quella di far avviare al client entrambe le connessioni TCP e UDP. In alternativa, prova a limitare la comunicazione solo a UDP o solo a TCP.

    
risposta data 22.02.2016 - 01:42
fonte

Leggi altre domande sui tag