在azure Ubuntu vm上设置一个支持websocket的应用程序

好的,所以我在azure色的云中创build了一个ubuntu vm,我已经成功地启动了nodejs,redis,socket.io,Express和我正在编写的游戏的所有组件。

我已经在内部和外部端口8080上设置了azure色的端点,并在我的js代码中使用app.listen(8080)。

当我浏览到http:// <app-name> .cloudapp.net:8080 /我可以很好地查看我的nodejs应用程序的结果,它显示html,css等

但是,当它试图启动一个套接字连接(使用socket.io),我只得到这个(在我的Chrome开发控制台下的websockets):

HeadersPreviewResponseWebSocket Frames Request URL:ws://<app-name>.cloudapp.net:8080/socket.io/1/websocket/13510496541533398587 Request Method:GET Status Code:101 Switching Protocols Request Headersview source Connection:Upgrade Host:<app-name>.cloudapp.net:8080 Origin:http://<app-name>.cloudapp.net:8080 Sec-WebSocket-Extensions:x-webkit-deflate-frame Sec-WebSocket-Key:y5vueHE66phl70gle7KCtw== Sec-WebSocket-Version:13 Upgrade:websocket (Key3):00:00:00:00:00:00:00:00 Response Headersview source Connection:Upgrade Sec-WebSocket-Accept:dn+2lA6sMIXHLEmDS/Q4j/IIwxI= Upgrade:websocket (Challenge Response):00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 

当我尝试在客户端(浏览器)上使用socket.emit()发送任何东西时,它也会使azure上的nodejs应用程序崩溃。 在我的azure色ssh,它只是说'DEBUG:程序节点app.js退出代码为null'这不是特别有用。

所以显然不能正确连接? 我也尝试在我的nodejs侦听端口80,但是我甚至没有得到标准的网页(HTML,CSS等)。

从我在线阅读的内容来看,很有可能让套接字工作,让你不使用webangular色(我认为这个虚拟机不是)。

任何想法如何我能得到这个工作? (最好在端口80)?

编辑:开始怀疑这是否与套接字没有任何待办事项,意识到我得到了同样的交换协议消息,在我的家庭虚拟现实(在哪里工作)。 分离问题: 如何查看ubunu azure虚拟机上的nodejs程序的崩溃细节?

在Windows Azure负载均衡器上大约有60年的时间。

在websocket连接build立之后,如果你发送消息给客户端,它是否工作?

如果是这种情况,你将不得不实施一些保持每分钟发送一个现场信息。