本系统主要实现了注册登录、好友管理、即时通信(文本、视频)、群组功能、消息管理、邮件收发、文件收发等主要功能。用户通过简单的注册以后,便可以登录系统。随后进行好友、群以及讨论组的添加,就可以与其他在线的用户进行行即时通信。对于消息记录,服务器以及客户端都会在各自文件或者数据库中进行相应的存储,用户可以随时进行本地消息以及网络消息的管理。当然文件的收发也得到了很好的实现,并且也集成了简单邮件收发功能。
本想分模块展示,但是要把单独模块的代码o出来,真的很麻烦,所以还是偷懒一点,直接整个来吧,不明白的可以留言,交流。
思路:
整体采用C/S框架,用户与服务器通过tcp进行连接,发送消息、邮件等等都是通过服务器转发;用户之间发送文件单独采用tcp连接,一方作为服务器,一方作为客户端;用户之间视频采用udp连接(也实现了tcp的,因为是局域网,tcp速度还可以)。
原开发环境是ubuntu,数据库采用mysql,并且视频模块涉及到其他库(ffmpeg,v4l2),直接上传,大家肯定无法通过,大家需要参考代码的话,可以留言。最近有点忙,在实验室做项目,等有空了,我把视频模块删除以后,再上传。
下面是主要的几个界面的展示:
登陆界面:
服务器界面:
左边显示已经登陆的用户ID,右边显示邮箱在线的ID(测试用的)
主界面:
好友查询:
邮件:
消息管理:
好友聊天界面:
群聊天界面:
讨论组聊天界面:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
临时上传了三份聊天软件的源代码:
这个是我写的,但是由于视频模块的库过大,这个模块的代码被我删掉了,大家下载的话,编译肯定无法通过,所以要自行把视频模块注释掉。
并且我自定义了一个日历,在LAN_IM\IMClient\external\CustomCalendar\lib路劲下,里面是一个动态链接库,源代码也有,无法直接用的话,重新make一下,再拷进去好了。
这是以前在网上看到的一个源代码,十分感谢作者给我提供的思路,我很多都是参考他的。注册登录、好友管理、即时通信(文本、视频)这些聊天软件有的功能,他都实现了。代码还是不错的。
这是一本qt书上的源代码。采用udp进行聊天,tcp进行文件传送。功能比较简单,但是基本功能都有,也很有参考价值。
***********************************************************************************************************************************************************************************
2014-08-06
我躺下来,以一张报纸当枕头。高高在我上方的,