webchat:网络实时聊天,使用服务器发送事件 (HTML5)、AJAX 和 ASP.NET MVC (C#)

上传者: 42131890 | 上传时间: 2023-11-25 23:49:57 | 文件大小: 652KB | 文件类型: ZIP
网络聊天 网络实时聊天,使用服务器发送事件 (HTML5)、AJAX 和 ASP.NET MVC (C#) 作为后端,以及用于管理聊天所基于的 NoSQL 数据库的 Redis。 SSE 用于从服务器到客户端的一种通信方式,当用户发送新消息时,服务器向所有人发送一个事件,该事件将包含新提交的消息。 事件也将与其他情况一起发送,例如 ping 用户、通知加入或离开房间也通过 SSE 完成。 由于 SSE 是一种单向通信方式,当用户想要发送消息时,AJAX 请求通过向服务器发出 POST 请求来负责客户端到服务器的通信,这些请求由控制器处理。 Redis 用于通过使用它的 Pub/Sub 命令来管理消息,这是必需的,因为所有线程都将通过订阅通道来提供消息,其中消息将作为 AJAX 请求的结果发布(希望将来会改变) )。 ASP.NET MVC 是支持此聊天的网络框架,它处理上述所有内容

文件下载

资源详情

[{"title":"( 74 个子文件 652KB ) webchat:网络实时聊天,使用服务器发送事件 (HTML5)、AJAX 和 ASP.NET MVC (C#)","children":[{"title":"webchat-asp.net","children":[{"title":".gitignore <span style='color:#111;'> 1.51KB </span>","children":null,"spread":false},{"title":"LICENSE.md <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"webchat","children":[{"title":"Validators","children":[{"title":"UniqueNickValidationAttribute.cs <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"JoinedRoomValidationAttribute.cs <span style='color:#111;'> 1.26KB </span>","children":null,"spread":false},{"title":"RoomsValidationAttribute.cs <span style='color:#111;'> 1.46KB </span>","children":null,"spread":false}],"spread":true},{"title":"Controllers","children":[{"title":"EventStreamController.cs <span style='color:#111;'> 2.06KB </span>","children":null,"spread":false},{"title":"PongController.cs <span style='color:#111;'> 1.29KB </span>","children":null,"spread":false},{"title":"ChatController.cs <span style='color:#111;'> 1.88KB </span>","children":null,"spread":false},{"title":"IndexController.cs <span style='color:#111;'> 3.00KB </span>","children":null,"spread":false},{"title":"MessageController.cs <span style='color:#111;'> 1.66KB </span>","children":null,"spread":false},{"title":"RoomController.cs <span style='color:#111;'> 3.41KB </span>","children":null,"spread":false}],"spread":true},{"title":"packages.config <span style='color:#111;'> 1.00KB </span>","children":null,"spread":false},{"title":"Views","children":[{"title":"Chat","children":[{"title":"Index.cshtml <span style='color:#111;'> 2.99KB </span>","children":null,"spread":false}],"spread":true},{"title":"Web.config <span style='color:#111;'> 2.75KB </span>","children":null,"spread":false},{"title":"_Layout.cshtml <span style='color:#111;'> 933B </span>","children":null,"spread":false},{"title":"_ViewStart.cshtml <span style='color:#111;'> 44B </span>","children":null,"spread":false},{"title":"Index","children":[{"title":"Index.cshtml <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"Resources","children":[{"title":"Internals.Designer.cs <span style='color:#111;'> 4.41KB </span>","children":null,"spread":false},{"title":"Strings.Designer.cs <span style='color:#111;'> 9.17KB </span>","children":null,"spread":false},{"title":"Strings.resx <span style='color:#111;'> 7.92KB </span>","children":null,"spread":false},{"title":"Strings.ro.resx <span style='color:#111;'> 8.00KB </span>","children":null,"spread":false},{"title":"Internals.resx <span style='color:#111;'> 6.10KB </span>","children":null,"spread":false},{"title":"Strings.ro.Designer.cs <span style='color:#111;'> 0B </span>","children":null,"spread":false}],"spread":true},{"title":"Database","children":[{"title":"Database.cs <span style='color:#111;'> 8.20KB </span>","children":null,"spread":false},{"title":"IDatabase.cs <span style='color:#111;'> 2.71KB </span>","children":null,"spread":false}],"spread":true},{"title":"Web.config <span style='color:#111;'> 2.75KB </span>","children":null,"spread":false},{"title":"Web.Debug.config <span style='color:#111;'> 1.23KB </span>","children":null,"spread":false},{"title":"Communication","children":[{"title":"IPublisher.cs <span style='color:#111;'> 942B </span>","children":null,"spread":false},{"title":"Publisher.cs <span style='color:#111;'> 1.83KB </span>","children":null,"spread":false}],"spread":true},{"title":"Logging","children":[{"title":"ILogger.cs <span style='color:#111;'> 765B </span>","children":null,"spread":false},{"title":"Logger.cs <span style='color:#111;'> 1.23KB </span>","children":null,"spread":false}],"spread":true},{"title":"Filters","children":[{"title":"AuthenticationFilterAttribute.cs <span style='color:#111;'> 1.16KB </span>","children":null,"spread":false}],"spread":false},{"title":"Global.asax.cs <span style='color:#111;'> 1.76KB </span>","children":null,"spread":false},{"title":"webchat.csproj <span style='color:#111;'> 13.04KB </span>","children":null,"spread":false},{"title":"Helpers","children":[{"title":"BindingHelpers.cs <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":"ErrorSummary.cs <span style='color:#111;'> 2.25KB </span>","children":null,"spread":false}],"spread":false},{"title":"Web.Release.config <span style='color:#111;'> 1.29KB </span>","children":null,"spread":false},{"title":"Global.asax <span style='color:#111;'> 98B </span>","children":null,"spread":false},{"title":"App_Start","children":[{"title":"FilterConfig.cs <span style='color:#111;'> 396B </span>","children":null,"spread":false},{"title":"WebApiConfig.cs <span style='color:#111;'> 591B </span>","children":null,"spread":false},{"title":"RouteConfig.cs <span style='color:#111;'> 711B </span>","children":null,"spread":false}],"spread":false},{"title":"Properties","children":[{"title":"AssemblyInfo.cs <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false}],"spread":false},{"title":"Static","children":[{"title":"Js","children":[{"title":"chat.js <span style='color:#111;'> 2.07KB </span>","children":null,"spread":false},{"title":"rooms.js <span style='color:#111;'> 6.35KB </span>","children":null,"spread":false},{"title":"helpers.js <span style='color:#111;'> 7.17KB </span>","children":null,"spread":false},{"title":"messages.js <span style='color:#111;'> 5.62KB </span>","children":null,"spread":false},{"title":"users.js <span style='color:#111;'> 753B </span>","children":null,"spread":false},{"title":"lib","children":[{"title":"bootstrap.js <span style='color:#111;'> 50.32KB </span>","children":null,"spread":false},{"title":"jquery.caret.min.js <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false}],"spread":false},{"title":"notifications.js <span style='color:#111;'> 865B </span>","children":null,"spread":false}],"spread":false},{"title":"Css","children":[{"title":"bootstrap.css <span style='color:#111;'> 109.41KB </span>","children":null,"spread":false},{"title":"bootstrap.min.css <span style='color:#111;'> 94.44KB </span>","children":null,"spread":false},{"title":"style.css <span style='color:#111;'> 747B </span>","children":null,"spread":false},{"title":"jquery-ui-1.8.22.custom.css <span style='color:#111;'> 32.46KB </span>","children":null,"spread":false}],"spread":false},{"title":"favicon.ico <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false},{"title":"Img","children":[{"title":"glyphicons-halflings.png <span style='color:#111;'> 13.50KB </span>","children":null,"spread":false},{"title":"glyphicons-halflings-white.png <span style='color:#111;'> 8.57KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"Models","children":[{"title":"IndexModel.cs <span style='color:#111;'> 1.21KB </span>","children":null,"spread":false},{"title":"LeaveModel.cs <span style='color:#111;'> 618B </span>","children":null,"spread":false},{"title":"ChatModel.cs <span style='color:#111;'> 745B </span>","children":null,"spread":false},{"title":"MessageModel.cs <span style='color:#111;'> 786B </span>","children":null,"spread":false},{"title":"RoomsModel.cs <span style='color:#111;'> 596B </span>","children":null,"spread":false},{"title":"Binders","children":[{"title":"RoomsModelBinder.cs <span style='color:#111;'> 1.28KB </span>","children":null,"spread":false},{"title":"MessageModelBinder.cs <span style='color:#111;'> 1.42KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"Ping","children":[{"title":"Pinger.cs <span style='color:#111;'> 1.35KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"webchat.sln <span style='color:#111;'> 907B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 2.32KB </span>","children":null,"spread":false},{"title":".gitattributes <span style='color:#111;'> 483B </span>","children":null,"spread":false},{"title":"docs","children":[{"title":"API docs.pdf <span style='color:#111;'> 176.30KB </span>","children":null,"spread":false},{"title":"webchat manual.pdf <span style='color:#111;'> 106.53KB </span>","children":null,"spread":false},{"title":"diagram.xmi <span style='color:#111;'> 101.44KB </span>","children":null,"spread":false},{"title":"Doxyfile <span style='color:#111;'> 78.20KB </span>","children":null,"spread":false},{"title":"webchat manual.odt <span style='color:#111;'> 71.60KB </span>","children":null,"spread":false},{"title":"diagram.png <span style='color:#111;'> 160.89KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明