Salve a tutti. Sto iniziando a scrivere in Python. Utilizzando le socket, con un amico abbiamo pensato di creare una chat a scopo didattico. Il problema che espongo, attualmente, è concettuale e a livello di rete, non implementativo. Abbiamo scritto due script, Client (che conosce l'indirizzo IP del server) che scrive un messaggio e lo manda al server, mettendosi in attesa della risposta, e un Server che riceve il messaggio e riesce a rispondere. Poche righe di codice per ogni script e il tutto funziona. Ovviamente sotto la stessa sottorete, dove gli IP sono entrambi locali.
Il problema sorge adesso: Se siamo su due sottoreti diverse, supponiamo due LAN distinte, conoscere l'indirizzo IP del Server non mi serve a nulla, dato che quell' IP è locale e riferito alla lan alla quale appartiene la macchina che lo esegue. Ho studiato Reti e conosco i protocolli per richiedere gli IP di altre sottoreti (ARP e quant'altro) ma solo a livello teorico. Riferito al mio problema, come converrebbe operare? (Senza settare ip statici, manomissioni di router e similari)
L'idea di base era far girare lo script server su un Server(macchina) con IP pubblico, di modo che il server potesse fare da tramite per lo scambio dei messaggi. Un alternativa è collegarsi al server che, una volta autenticati i due Client, fornisce loro gli indirizzi per la connessione P2P. E' un idea proponibile?
Ps Ho gia consultato il possibile su Socket e su Python, tutto cio' che ho trovato è riferito alla comunicazione locale, e fin qui funziona.
Grazie per l'attenzione
Il problema sorge adesso: Se siamo su due sottoreti diverse, supponiamo due LAN distinte, conoscere l'indirizzo IP del Server non mi serve a nulla, dato che quell' IP è locale e riferito alla lan alla quale appartiene la macchina che lo esegue. Ho studiato Reti e conosco i protocolli per richiedere gli IP di altre sottoreti (ARP e quant'altro) ma solo a livello teorico. Riferito al mio problema, come converrebbe operare? (Senza settare ip statici, manomissioni di router e similari)
L'idea di base era far girare lo script server su un Server(macchina) con IP pubblico, di modo che il server potesse fare da tramite per lo scambio dei messaggi. Un alternativa è collegarsi al server che, una volta autenticati i due Client, fornisce loro gli indirizzi per la connessione P2P. E' un idea proponibile?
Ps Ho gia consultato il possibile su Socket e su Python, tutto cio' che ho trovato è riferito alla comunicazione locale, e fin qui funziona.
Grazie per l'attenzione