Vorrei eseguire un server WebSocket su un ruolo di lavoro in Azure.Fleck in esecuzione (o qualsiasi) server Websocket su Windows Azure
Questo funziona correttamente localmente sull'emulatore, ma è presente un prompt del firewall di Windows la prima volta che viene eseguito il server socket.
Mi chiedo se qualcuno saprebbe come superare i problemi di connessione relativi ai socket su Azure.
mia implementazione server socket: OnStart
var server = new WebSocketServer("ws://theappname.cloudapp.net:8080/");
server.Start(socket =>
{
socket.OnOpen =() =>
{
Trace.WriteLine("Connected to " + socket.ConnectionInfo.ClientIpAddress,"Information");
_sockets.Add(socket);
};
});
.... etc
L'applicazione client:
var socket = new WebSocket("ws://theappname.cloudapp.net:8080");
socket.onopen = function() {
status.html("Connection Opened");
};
socket.onclose = function() {
status.html("Connection Closed");
}
Lo stato cambia closed
pochi secondi dopo il caricamento della pagina.
mio punto finale per il ruolo dei lavoratori sotto:
WebSocket Input http 8080 <Not Set>
Ora ho cercato di eseguire il binding all'indirizzo IP interno utilizzando il seguente:
RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["WebSocket"].IPEndpoint.ToString();
SOLUZIONE
Per motivi di chiunque altro affrontare questa nell'attuazione WebSockets su Azure;
Il firewall probabilmente negherà la connessione se non sulla porta 80 o 8080, quindi creare una distribuzione separata per esso.
L'endpoint deve essere impostato su TCP e non su HTTP per la creazione delle regole firewall corrette. (Vedi immagine)
Solo per motivi di prova, perché non si modifica l'Input Endpoit dal protocollo "http" a "tcp". E impostare esplicitamente la porta locale su 8080 (che nel tuo caso è). Inoltre, è necessario tenere presente che il bilanciamento del carico di Windows Azure può interrompere qualsiasi connessione inattiva per oltre 60 secondi. –
astaykov
@astaykov - Il tuo commento ha portato alla soluzione, per favore pubblica qui sotto così posso + crederti. Grazie. – f0x
@astaykov Avete la piena implementazione?Sto cercando di far funzionare la mia e non l'ho mai fatto prima. – Yecats