C#:WeChat聊天软件实例(WPF+WebSocket+WebApi+EntityFramework)

时间:2022-07-19 23:30:30
【文件属性】:
文件名称:C#:WeChat聊天软件实例(WPF+WebSocket+WebApi+EntityFramework)
文件大小:3.5MB
文件格式:ZIP
更新时间:2022-07-19 23:30:30
C# WebSocket WebApi EF 为了防止客户端对数据库直接注入,所有使用WebApi作为中间媒介进行数据的转存,对外提供了User接口来做到登录,注册和重置,而在客户端方面,编写了UserHelper类作为DAL层的内容,而为了实现发送消息的功能,采用了WebSocket技术,因为在公网环境下,不可能做到一对一的Socket绑定,所以使用服务器作为媒介,客户端将消息发送给服务器,经服务器转发给目标 而对于客户端,也会开启一个监听线程去接收来自服务器的消息,经过CallBack进行分类显示.而聊天室的原理也就是存在一个UID为”HOST”的用户,而服务器检测到发送给HOST的消息后,会将该消息转发给除发送者以外的所有用户,这样就是聊天室的原理实现。 而在聊天信息的储存方面,通过一个叫做Bucket的结构进行储存,当用户发送信息的时候会在Bucket中存入一个Record对象,这个对象储存了信息发送者,信息接收者和信息主体,而监听服务器的线程接收到Message的消息后,也会创建一个Record存入Bucket(为防止多线程的访问冲突,用lock锁定对象),所以主页面上,绑定事件
【文件预览】:
WeChat
----WeChat.sln(3KB)
----.vs()
--------ProjectEvaluation()
--------WeChat()
----WeChat.WPF()
--------Models()
--------Servers()
--------UI()
--------App.xaml(378B)
--------GlobalUsing.cs(873B)
--------App.xaml.cs(429B)
--------AssemblyInfo.cs(605B)
--------Logo.ico(894B)
--------Settings.json(132B)
--------WeChat.WPF.csproj(1KB)
--------WeChat.WPF.csproj.user(1KB)
--------Properties()
----WeChat.WebApi()
--------Models()
--------Servers()
--------efpt.config.json(1KB)
--------WeChat.WebApi.csproj.user(556B)
--------Program.cs(948B)
--------WeChat.WebApi.csproj(656B)
--------Controllers()
--------GlobalUsing.cs(1KB)
--------.config()
--------appsettings.Development.json(127B)
--------platform.json(300B)
--------connection.json(141B)
--------ORM()
--------appsettings.json(151B)
--------Properties()

网友评论

  • 登入账号密码多少?