Come connettersi all'emulatore di calcolo di Azure in esecuzione su un computer remoto

Come connettersi all'emulatore di calcolo di Azure in esecuzione su un computer remoto

Ci siamo imbattuti in un problema interessante al lavoro oggi. Il mio collega aveva un prototipo del nostro servizio di importazione in esecuzione all'interno dell'emulatore di calcolo azure sul suo computer locale. Il servizio di importazione ospita un endpoint WebSocket a cui i client della console Xbox devono connettersi per trasmettere i dati.

Una volta terminato il test, volevo testare il mio set di modifiche senza distribuire l'emulatore di calcolo azure sul mio computer.

Tuttavia, abbiamo riscontrato che l'emulatore di calcolo sulla macchina dei miei colleghi, in esecuzione al suo indirizzo di loopback 127.0.0.1:81 , non può essere raggiunto dalla mia macchina di sviluppo anche se siamo sulla stessa rete.

Dopo aver provato alcune cose, abbiamo finalmente risolto il problema impostando il port forwarding sulla sua macchina. T i passaggi sono documentati di seguito come riferimento.

Passaggi per accedere in remoto all'emulatore di calcolo di Azure
PASSAGGIO 1: Annota la porta che il servizio di importazione è in esecuzione sull'emulatore di archiviazione.

Nel nostro caso. Era 127.0.0.1:81 . Puoi visualizzarlo dalla barra delle applicazioni di Windows tramite:

un. Fare clic con il pulsante destro del mouse sull'icona dell'emulatore di Azure come mostrato di seguito e selezionare "Mostra interfaccia utente dell'emulatore di calcolo"

b. Nell'interfaccia utente di Compute Emulator, vai a "Dettagli del servizio ” per il servizio distribuito nella sezione Distribuzioni dei servizi come mostrato di seguito.

PASSAGGIO 2: Crea un servizio di inoltro di pacchetti TCP dalla porta 82 alla porta 81 sulla macchina che esegue l'emulatore di calcolo.

Esegui il comando seguente da un prompt dei comandi amministrativo.

netsh interface portproxy add v4tov4 listenport=82 connectaddress=127.0.0.1 connectport=81 protocol=tcp

Ciò che essenzialmente farà è ricevere tutto il traffico destinato alla porta 82 sul computer dei miei colleghi e quindi inoltrarlo alla porta 81 dove è in esecuzione il servizio di emulatore di calcolo azure. Puoi trovare ulteriori dettagli sul comando qui:

https://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx

Puoi controllare le impostazioni del port forwarding usando:

netsh interface portproxy mostra tutto

Il risultato dell'esecuzione di questo comando nel nostro caso è mostrato di seguito:

PASSAGGIO 3: [Facoltativo] Crea una regola firewall per consentire il traffico TCP in entrata sulla porta 82

Vai a Pannello di controllo -> Sistema e sicurezza -> Windows Firewall .

Seleziona "Impostazioni avanzate ” e quindi creare una regola in entrata per consentire tutto il traffico TCP sulla porta 82.

E il gioco è fatto:con queste impostazioni, sono stato in grado di stabilire una connessione websocket sull'indirizzo IP del mio collega dal mio programma client. Puoi utilizzare la stessa soluzione alternativa se stai distribuendo un ruolo Web di Azure e provando a testarlo nell'emulatore di calcolo di Azure.

Spero che questo aiuti:lascia un commento se riscontri problemi nell'implementazione della soluzione alternativa sopra.