一个IM开源项目LiteTalk

      自己写的一个xmpp客户端,可以和pidgin、psi等xmpp客户端通信。有兴趣的朋友可以下载来看看。
      协议栈用的gloox库,实现了主要的一些功能,包括注册、登录、添加删除好友、好友在线状态、单人聊天、多人聊天及文件传输等。
      界面是自己用纯WIN32 API封装的库。因时间精力所限,可能会比较简单一些。
      使用的是visual studio 2005编译,运行平台是windows XP,测试用的服务器是ejabberd的windows版。

简要说明一下主要的几个工程:
sln文件在LiteTalk/src/LiteTalk/LiteTalk.sln,直接用visual studio打开即可。
baselib:封装了一个基础类库mlib,技术手册word版下载:http://download.csdn.net/source/2922935chm版下载:http://download.csdn.net/source/2923715
guilib:封装了一个界面库mgui,采用纯API封装,其中采用了CxImage作为图形处理库。不过作为界面库来说还不成熟,功能也还很不完善。mgui的示例工程下载:http://download.csdn.net/source/2922939 有兴趣的朋友可以参考一下。
protocol_gloox:gloox类库,版本是1.0,使用了静态DLL链接。gloox的官网:http://camaya.net/gloox/
protocol_client:定义了客户端的协议接口,并封装了gloox
client:主程序,主要和protocol_client交互。

测试方法:
1 先到http://www.process-one.net/en/ejabberd/downloads/下载ejabberd服务器并安装,注意指定域名(如果是在本机测试,可以设置域名为localhost)。
2 启动ejabberd服务器后,可以在管理界面中添加用户帐号,也可通过客户端注册。
3 编译完成后在输出目录运行LiteTalk.exe,可以先通过界面操作注册帐号(但是这里有个bug,貌似运行一次客户端只能注册一个帐号,不知道是程序的问题还是gloox或者ejabberd的问题,因精力所限就没有深入研究了)。登录前注意填入正确的服务器域名。
4 登录成功后可以运行多个客户端实例登录,或者也可运行pidgin、psi客户端登录,互相通信来测试。


注意:客户端和服务端的域名必须一致,并且必须是真实有效的,能被访问的,否则请用IP代替。

说明:因个人时间、精力、水平所限,项目肯定有很多不足之处,请多见谅。另外程序留有语音视频的接口,有兴趣的朋友也可增加语音视频的功能。

LiteTalk0.1版的源代码下载:
http://download.csdn.net/source/2922931

 

技术讨论QQ群: 6658306

你可能感兴趣的:(一个IM开源项目LiteTalk)