我知道可以使用在Web应用程序旁边运行的控制台应用程序在C#中使用WebSockets,但我想知道是否可以使用C#Web应用程序上的请求来创建WebSockets。
我一直在寻找ASP.Net,我开始认为它不可能,除非我直接使用C#并创建我自己的HTTP服务器,然后使用相同的套接字对象生成Web套接字(类似于Node的方式) .js和Socket.IO工作)。
关于如何在没有多个服务器/项目的情况下将WebSockets包含在C#Web应用程序中的任何想法?
答案 0 :(得分:11)
可以在ASP.NET的上下文中托管WebSockets服务器。但是,您需要注意ASP.NET应用程序可以重新启动,这意味着服务器将被关闭,并且需要与ASP.NET应用程序一起重新建立。
在单独的Windows服务中托管WebSockets应用程序将在套接字服务器中提供更高的可靠性,但随后将要求IPC在ASP.NET应用程序和Windows服务之间共享数据。
所以,需要进行权衡讨论。这取决于客户端代码对连接丢失和重建的敏感程度。如果处理得足够好,那么在ASP.NET中托管就可以了。
请注意,虽然WebSockets是HTML新手,但这个概念已经存在多年,使用Flash和Java Applet。特别是Flash,它通常用于在线游戏和基于网络的聊天。
答案 1 :(得分:5)
SuperWebSocket的源代码包含一个在网站中运行套接字服务器的Web项目。 http://superwebsocket.codeplex.com/
答案 2 :(得分:3)
从.net client implementations查看Kaazing。使用这些客户端,您可以连接到任何websocket服务器。
答案 3 :(得分:3)
将构建为支持asp.net 4.5和IIS8中的websockets客户端和服务器。
请参阅:http://www.asp.net/vnext/overview/aspnet/whats-new#_Toc318097383
答案 4 :(得分:3)
PokeIn 2.0 内置了WebSocket功能,无需任何特殊环境即可运行。详情可从here
获取