今天没有.NET 4.5主机可以使用Web套接字吗?

时间:2012-08-10 05:36:59

标签: javascript websocket windows-8 socket.io

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

我使用socket.io构建了一个解决方案,只要我的node.js服务器托管在localhost上就可以正常运行:)当我将服务器部署到Azure时,Windows 8应用程序会返回一个错误,说它无法加载外部本地上下文中的内容(在调用socket.io的connect()之后)。

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

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

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

2 个答案:

答案 0 :(得分:0)

如果您的后端是 NodeJS 应用,则 IIS服务器或与.NET Framework相关的任何内容。< / p>

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

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


我觉得您对 Web套接字 Socket.io 感到困惑。

Socket.io是一个实时传输框架,可能可能使用Web套接字在客户端基于客户端的浏览器进行传输。

参考:FAQ — Socket.IO

答案 1 :(得分:0)

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

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

现在我要确认应用程序可以通过此库的认证。