【发布时间】:2013-10-28 18:11:37
【问题描述】:
我目前正在使用Alchemy Websockets 作为我的 WebSocket 解决方案,但是事实证明这很痛苦,因为我花了很多时间试图弄清楚为什么我无法启动它并继续我的WebRole(在 Compute Emulator 和 cloudapp.net 本身上)。它在本地运行好的。
我知道this question that was asked previously,并且我已经按照代码中的所有内容并完成了建议的所有内容,所以我不明白为什么我仍然无法连接到我的 WebSocket 服务器。我尝试使用WebSocket.org's Echo Test 以及Android 客户端(利用Autobahn)进行连接。考虑到这两种方法都不起作用,我很确定这不再是客户端问题,而是服务器端问题(是什么阻止我在 Azure 上打开 WebSocket 服务器?!)。
总结一下,到目前为止我做了什么:
- 在我的 Azure 中包含 TCP InputEndpoint 8080
- 使用端口 8080 在
Global.asax或RoleEntryPoint中启动 WebSocket 服务器 - 尝试使用 Android 版 Echo Test 和 Autobahn 进行连接
如果有帮助,我之前尝试过SuperWebSocket Server。我知道创建者 Kerry Jiang 已经上传了一些 Azure 示例,但是命令程序集让我感到困惑,我不想在我的应用程序中添加那种额外的逻辑(我只想要一些我可以即插即用的东西),所以我决定完全放弃。
Alchemy Websockets 和 SuperWebSocket Server 在本地工作得非常好,但是当它在 Azure 上时(无论是在 cloudapp.net 上上传的模拟器),我似乎根本无法连接。请指导...?
【问题讨论】:
-
我对 Azure 几乎一无所知,但您可能会遇到一个问题:与 WebSocket 不兼容或过滤的中介(防火墙、负载均衡器等网络设备)它积极地。这是我会尝试的:使用安全的 WebSocket (WSS)。终止服务器上的 TLS。使用超过标准 443 的有效证书运行它。这将排除中介的干扰。
-
谢谢兄弟!在将 VM 的防火墙配置为接受传入端口请求 (here's the link) 后,它就可以工作了!你可以写一个快速的答案,我会感谢它。但是有一个问题,我的 VM 上的 CPU 使用率始终为 100%,我的 WebSocket 实现有什么问题??
-
对不起,我不使用 .Net、SuperWebSocket 和 Azure。我会联系服务器框架的作者。一般来说,我可以向您保证:您可以将 WS 与功能强大的服务器一起使用,这些服务器不会在数百万个 WS 上产生任何(显着)CPU 负载(当然,当它们空闲时)。
标签: c# android azure websocket azure-web-roles