1

我希望通过云服务将我的 WinJS 应用程序连接到移动浏览器客户端,每个人都使用 Web 套接字连接到该云服务。

我使用 socket.io 构建了一个解决方案,只要我的 node.js 服务器托管在本地主机上就可以正常工作:) 当我将服务器部署到 Azure 时,Windows 8 应用程序返回一个错误,指出它无法在本地上下文(在调用 socket.io 的 connect() 之后)。

查看 MSDN 上的 Web 套接字示例,我认为我应该使用 Windows.Networking.Sockets 中的内置功能,至少在我的应用程序和公共云服务之间使用它,因为它不会尝试加载外部资源。

我的问题是:隧道的另一端有哪些选择?它是否需要带有 IIS 8 的 .NET 4.5 主机(因为 IIS 7 不支持 WS)?我认为今天还不存在,所以我想知道这里的发展故事是什么。

根据我最终用于服务器的内容,我想我将不得不再次使用 socket.io 或 SignalR 来为客户端提供服务(大多数不支持 Web 套接字,我需要一个好的跨浏览器库:))

4

2 回答 2

0

如果您的后端是NodeJS应用程序,则不需要IIS 服务器或任何与 .NET Framework 相关的东西。

NodeJS 的作者在https://github.com/joyent/node/wiki/Node-Hosting维护了一个托管提供商列表(该列表可能已经过时,因为我在那里看不到 Azure)。

我不明白为什么您的服务器在部署到 Azure 时不应该工作。你在用npm install azure吗?


我感觉您对Web SocketsSocket.io感到困惑。

Socket.io 是一个实时传输框架,它可能会可能不会根据客户端浏览器在客户端使用 Web Sockets 进行传输。

参考:FAQ——Socket.IO

于 2012-08-13T20:11:50.823 回答
0

(回答我自己的问题)我在一个代理后面,它不允许来自我的 Win8 应用程序中的 socket.io 的 Web 套接字连接通过,因此它依赖于需要加载外部资源的方法。

绕过那个有问题的代理,连接工作正常,我可以按预期从我的应用程序中使用 socket.io。我在 Azure 上托管另一端(根据他们提供的 node.js + socket.io 教程),它可以工作。我仍然不知道想要使用内置 Web 套接字库的开发人员应该为主机使用什么,但我想我们必须等待 IIS 8 出来。

现在我要验证应用程序是否可以通过该库的认证。

于 2012-09-06T03:18:47.997 回答