我希望通过每个人都使用 Web 套接字连接的云服务将我的 WinJS 应用程序连接到移动浏览器客户端。
我使用socket.io构建了一个解决方案,只要我的node.js服务器托管在本地主机上,该解决方案就可以正常工作:)当我将服务器部署到Azure时,Windows 8应用程序返回一个错误,指出它无法加载外部本地上下文中的内容(调用 socket.io 的 connect() 之后)。
查看 MSDN 上的 Web 套接字示例,我认为我应该至少在我的应用程序和公共(public)云服务之间使用 Windows.Networking.Sockets 中的内置功能,因为它不会尝试加载外部资源。
我的问题是:隧道的另一端有哪些选择?它是否需要带有 IIS 8 的 .NET 4.5 主机(因为 IIS 7 不支持 WS)?我认为这些目前还不存在,所以我想知道这里的开发故事是什么。
根据我最终在服务器上使用的内容,我想我将不得不再次使用socket.io或SignalR来为客户端提供服务(大多数不支持网络套接字,我需要一个好的跨浏览器库: ))
最佳答案
如果您的后端是 NodeJS 应用,则您不需要 IIS 服务器或任何与 .NET Framework 相关的内容。
NodeJS 作者在 https://github.com/joyent/node/wiki/Node-Hosting 维护着托管提供商列表。 (该列表可能已过时,因为我在那里没有看到 Azure)。
我不明白为什么您的服务器在部署到 Azure 时不能工作。您是否使用npm install azure
?
我有一种感觉,您对 Web Sockets 和 Socket.io 感到困惑。
Socket.io 是一个实时传输框架,它可能或可能不根据客户端浏览器在客户端进行传输。
关于javascript - 现在可以在没有 .NET 4.5 主机的情况下使用 Web 套接字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11896032/