在Avalonia如火如荼的现在,之前使用CPF实现的简单IM,非常有必要基于Avalonia来实现了。Avalonia在跨平台上的表现非常出色,对信创国产操作系统(像银河麒麟、统信UOS、Deepin等)也很不错。
现在,我们就来使用Avalonia实现一个跨平台的简单IM,除了文字聊天外,还可以语音视频通话。废话不多说,我们开始吧!
下图是这个简单IM的Avalonia客户端在国产统信UOS上的运行的截图:
一.IM即时通讯系统主要功能
这个简单的IM系统实现了以下功能:
1.基础功能、文字聊天
(1)客户端用户上下线时,通知其他在线用户。
(2)当客户端与服务端网络断开时,进行自动重连,当网络恢复后,重连成功。
(3)所有在线用户之间可以进行文字聊天(支持表情,支持撤回消息、删除消息)。
(4)文件传送。
2.语音shipinliaotian、远程桌面
(1)一方发起视频对话请求,对方同意后,即可开始视频对话。
(2)在对话的过程中,任何一方都可以挂断,以终止对话。
(3)在对话的过程中,任何一方掉线,都会自动终止对话。
(4)双击视频窗口,会全屏显示视频,按esc退出全屏。
(5)远程桌面或远程协助功能,也是跟shipinliaotian同样的流程,不再赘述。
二.开发环境
1.开发工具:
VisualStudio2022
2.开发框架:
.NETCore3.1
3.开发语言:
C#
4.其它框架:
AvaloniaUI框架(版本:0.10.22)、ESFramework通信框架(版本:7.2)
注:建议Avalonia使用0.10.*的版本,精简而且很稳定,而新的11.0的版本太庞大了。