我创建了一个QQ群,有问题的话,可以直接加群:530240681。

github上项目的链接:https://github.com/siyueshiqi/LAN_IM

本系统主要实现了注册登录、好友管理、即时通信(文本、视频)、群组功能、消息管理、邮件收发、文件收发等主要功能。用户通过简单的注册以后,便可以登录系统。随后进行好友、群以及讨论组的添加,就可以与其他在线的用户进行行即时通信。对于消息记录,服务器以及客户端都会在各自文件或者数据库中进行相应的存储,用户可以随时进行本地消息以及网络消息的管理。当然文件的收发也得到了很好的实现,并且也集成了简单邮件收发功能。

本想分模块展示,但是要把单独模块的代码o出来,真的很麻烦,所以还是偷懒一点,直接整个来吧,不明白的可以留言,交流。

思路:

整体采用C/S框架,用户与服务器通过tcp进行连接,发送消息、邮件等等都是通过服务器转发;用户之间发送文件单独采用tcp连接,一方作为服务器,一方作为客户端;用户之间视频采用udp连接(也实现了tcp的,因为是局域网,tcp速度还可以)。

原开发环境是ubuntu,数据库采用mysql,并且视频模块涉及到其他库(ffmpeg,v4l2),直接上传,大家肯定无法通过,大家需要参考代码的话,可以留言。最近有点忙,在实验室做项目,等有空了,我把视频模块删除以后,再上传。

下面是主要的几个界面的展示:

登陆界面:

服务器界面:

左边显示已经登陆的用户ID,右边显示邮箱在线的ID(测试用的)

主界面:

好友查询:

邮件:

消息管理:

好友聊天界面:

群聊天界面:

讨论组聊天界面:

///

临时上传了三份聊天软件的源代码:

http://download.csdn.net/detail/shuideyidi/7710733

这个是我写的,但是由于视频模块的库过大,这个模块的代码被我删掉了,大家下载的话,编译肯定无法通过,所以要自行把视频模块注释掉。

并且我自定义了一个日历,在LAN_IM\IMClient\external\CustomCalendar\lib路劲下,里面是一个动态链接库,源代码也有,无法直接用的话,重新make一下,再拷进去好了。

http://download.csdn.net/detail/shuideyidi/7710743

这是以前在网上看到的一个源代码,十分感谢作者给我提供的思路,我很多都是参考他的。注册登录、好友管理、即时通信(文本、视频)这些聊天软件有的功能,他都实现了。代码还是不错的。

http://download.csdn.net/detail/shuideyidi/7710755

这是一本qt书上的源代码。采用udp进行聊天,tcp进行文件传送。功能比较简单,但是基本功能都有,也很有参考价值。

***********************************************************************************************************************************************************************************

2014-08-06

上次时间仓促,上传了一分最原始的代码,所以大家不能直接编译运行。现在有空,所以把视频模块注释掉了,并且多余的库文件以及中间文件,都删除。
但是其中有一个日历模块,我是独自写成一个linux32为系统底下的动态连接库的,所以无法直接使用的网友(应该是CustomCalendar找不到的错误),去LAN_IM\IMClient\external\CustomCalendar里,自行make编译成库,然后将生成的库文件,放在同目录的lib文件夹中,便可以通过编译了。(本人已经试过...应该没问题)
另外我使用的mysql数据库,在数据库文件下中,放了我导出来的两个数据库(客户端以及服务器端),大家直接导进去,便可以,也可以用文本阅读器打开,复制里的sql语句,再执行。

下载链接:

http://download.csdn.net/detail/shuideyidi/7723377

***********************************************************************************************************************************************************************************

2014-10-14

还有一个来自福州的同胞,下载了我csdn上的代码,起初没能通过编译,后来找到了我,最后成功了。

有位来自yemen的外国朋友,下载了我在csdn上的源代码,没能编译通过。

所以我决定自己把代码再修改一下,将LAN_IM\IMClient\external\CustomCalendar里的代码,全部直接移入IMClient里面。

这样各位直接下载,就可以编译通过,然后直接运行了。不出意外,应该不会报什么CustomCalendar之类的找不到的错误了。

如果觉得代码给你带了帮助可以给个star鼓励一下我...谢谢

github上的链接:https://github.com/siyueshiqi/LAN_IM

***********************************************************************************************************************************************************************************

2015-7-27 (今天是我女朋友23周岁生日,纪念一下)

由于在博客中提到了视频模块,所以很多网友找我要这里的代码,我再三劝说,这里代码问题很大,可是他们都不相信我。这年头做人太难了......

所以我干脆原封不动把一年前的代码完全上传。视频相关的库可能要重新编译,ubuntu32位的,大家随缘。

http://download.csdn.net/detail/shuideyidi/8937939

基于Qt的局域网即时通信系统设计与实现(提供各种版本的源代码)相关推荐

  1. 基于P2P的局域网即时通信应用

    前言 这是一个使用java语言开发的基于P2P的局域网即时通信Android应用,界面是高仿微信的聊天界面,在里面你将会学到java多线程并发编程.Socket编程.UDP广播.TCP连接等. 项目地 ...

  2. BIO、NIO、AIO 详解和基于BIO模式下即时通信

    第一章 BIO.NIO.AIO课程介绍 身边同学写的,没发布出来,我算是转载 1.1 课程说明 ​ 在Java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或者 ...

  3. Android基于UDP的局域网聊天通信

    代码地址如下: http://www.demodashi.com/demo/12057.html 记得把这几点描述好咯:代码实现过程 + 项目文件结构截图 + 演示效果 1. 开发环境 1.1 开发工 ...

  4. 计算机winform参考文献写,毕业论文基于C#WinForm的语音通信系统设计.doc

    毕业论文基于C#WinForm的语音通信系统设计 毕 业 设 计 目基于C#WinForm的语音通信系统设计学生姓名学 号系 别防灾仪器系专 业测控技术与仪器班 级开题时间2013年12月25日答辩时 ...

  5. Ricochet —— 基于 Tor 的加密即时通信工具

    Ricochet 是一个基于 Tor 的加密即时通信工具 Ricochet 是个与众不同的实时通信,不相信你的验证,你的联系列表和你的通信. 无需暴露你的认证(IP 地址)给任何人就可以进行聊天 没有 ...

  6. 基于RS485的简单现场总线通信系统设计-南邮自动化课程设计

    基于RS485的简单现场总线通信系统设计 指导书   1.     课程设计目的 1)       进一步融合大学期间所学的理论知识和实践技能: 2)       提高学生问题分析能力和实际操作能力: ...

  7. 基于jsp的高校固定资产管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    摘本文基于Java语言,设计与实现了一个高校固定资产管理系统.该系统提供了资产信息管理.资产入库.资产领用.资产报废等功能,旨在帮助高校高效管理和维护固定资产.本文详细介绍了系统的需求分析与设计.数据 ...

  8. qt中socket通信流程图_基于Qt的局域网通信设计说明书.doc

    文档控制记录 序号版本日期修改内容修改人审批人1V1.02017-04-24创建2 目录目录4 辅助功能设计14 1目的 本文主要介绍利用Qt实现局域网通信的主要实现流程和一些技术知识点的设计说明. ...

  9. C语言 linux环境基于socket的简易即时通信程序

    转载请注明出处:http://www.cnblogs.com/kevince/p/3891033.html      --By Kevince 最近在看linux网络编程相关,现学现卖,就写了一个简易 ...

最新文章

  1. 未在本地计算机上注册oraoledb.oracle.1提供程序,未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序--问题的处理...
  2. ADO.NET 快速入门(一):ADO.NET 概述
  3. python代码删掉了几行怎么撤回_78行Python代码实现现微信撤回消息功能
  4. mysql表缓冲大小可能设置过小_MySQL 5.7 my.cnf配置文件详解
  5. zabbix系列(八)zabbix添加对web页面url的状态监控
  6. 最近围绕生鲜社区团购的一些事
  7. Linux下使用源码安装出现的坑
  8. Linux实验——缓冲区溢出漏洞实验
  9. 《Lua游戏开发实践指南》一3.2游戏项目中的Lua
  10. JavaSocket编程基础
  11. 新hp设备无法连接到计算机,联想的台式机,用的win7系统,无法装惠普1108打印机驱动,一直显示新设备现已连接,然后无限循环!!!...
  12. 使用 p6spy,拦截到持久层执行的sql及参数
  13. iOS蓝牙连接打印机,打印小票
  14. 修改dhcp服务器租期,修改dhcp租期命令是expire day?
  15. java算法训练 调和数列问题
  16. c语言打气球游戏,打气球程序求修改
  17. 人脑词典、亡者归来……来看库兹韦尔对于未来的四个疯狂预测
  18. MySQL定位慢查询步骤
  19. zend guard loader php ts,安装Zend Guard Loader说明
  20. Oracle如何切换session,oracle修改process和session数

热门文章

  1. 【机器学习】似然函数
  2. 服务起不来的解决方法
  3. [附源码]java毕业设计龙虎时代健身房管理系统
  4. Java简单编程题:大小写转换、兔子生兔子问题、狼追兔子问题、判断英文句子。
  5. 【博学谷学习记录】超强总结,用心分享 | ZooKeeper集群
  6. DDD - CQRS 概念
  7. 以太坊基金会:前路,2018
  8. python 协程库_python协程概念
  9. python 的高级特性:函数式编程,lambda表达式,装饰器
  10. XCode 5 如何免费在真机iPhone 5C上运行 程序