基于EasyTcp4Net开发一个功能较为完善的去持久化聊天软件
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
示例发消息给自己收到消息发送图片消息发送中重连中发送失败数据包结构以及拆包定义数据包结构数据包结构定义了每次发送一个数据的完整的数据结构,我们将包体长度定义在包头中来解决粘包和断包的问题。 数据包我们采用了简单的序列化成byte数组的方式来发送。
我们在服务端和客户端根据我们定义的数据结构,来调用EasyTcp4Net提供的固定包头来解析数据包 _easyTcpClient.SetReceiveFilter(new FixedHeaderPackageFilter(8, 0, 4, false)); 文本/图片发送 我们可以定义消息基类,再拓展两个消息类,一个文本消息,一个图片消息
图片消息
文本消息
我们还需要在界面中增加相关的文本和图片的ViewModel 发送消息的时候,发送者可以立刻将消息添加到聊天界面,然后等待收到自己发送的消息从服务端发来的时候,根据状态判断消息是否发送成功,等待的时候可以将消息设置发送中的界面状态显示,这种发送消息逻辑和微信基本一致。 断线处理 利用EasyTcp4Net提供的断线的事件,可以非常方便的在服务端知道客户端突然断开了,或者在客户端知道和服务端连接断开了。 客户端
主要是触发了重连的机制。 服务端
主要是将该用户从在线列表中移除。 总结总体来说做一个聊天软件需要考虑的细节比较多。 转自https://www.cnblogs.com/qwqwQAQ/p/18330325 该文章在 2024/8/5 10:21:10 编辑过 |
关键字查询
相关文章
正在查询... |