16

我知道可以使用与 Web 应用程序一起运行的控制台应用程序在 C# 中使用 WebSockets,但我想知道是否可以使用 C# Web 应用程序上的请求来创建 WebSockets。

我一直在查看 ASP.Net,我开始认为除非我直接使用 C# 并创建自己的 HTTP 服务器,然后使用相同的套接字对象生成 Web 套接字(类似于 Node.js 和Socket.IO 工作)。

关于在没有多个服务器/项目的情况下在 C# Web 应用程序中包含 WebSocket 的方法有什么想法吗?

4

5 回答 5

11

可以在 ASP.NET 的上下文中托管 WebSockets 服务器。但是,您需要注意 ASP.NET 应用程序可以重新启动,这意味着服务器将被关闭并且需要与 ASP.NET 应用程序一起重新建立。

在单独的 Windows 服务中托管 WebSockets 应用程序将在套接字服务器中提供更高的可靠性,但随后将需要 IPC 在 ASP.NET 应用程序和 Windows 服务之间共享数据。

因此,需要权衡取舍。这取决于您的客户端代码对连接丢失和重新建立的敏感程度。如果处理得当,那么在 ASP.NET 中托管就可以了。

请注意,虽然 WebSockets 对 HTML 来说是新事物,但这个概念在 Flash 和 Java Applet 中已经存在很多年了。尤其是 Flash,它通常用于在线游戏和基于网络的聊天。

于 2010-06-10T13:57:25.497 回答
5

SuperWebSocket 的源代码包含一个在网站上运行套接字服务器的 web 项目。 http://superwebsocket.codeplex.com/

于 2010-12-11T14:15:45.347 回答
3

在 asp.net 4.5 和IIS8中将内置对 websockets 客户端和服务器的支持。

见:http ://www.asp.net/vnext/overview/aspnet/whats-new#_Toc318097383

于 2011-12-16T08:26:37.213 回答
3

查看Kaazing.net 客户端实现。使用这些客户端,您可以连接到任何 websocket 服务器。

于 2010-06-11T18:21:42.930 回答
3

PokeIn 2.0内置了 WebSocket 功能,不需要任何特殊环境即可工作。可从此处获得详细信息

于 2012-03-04T18:11:49.507 回答