`

山寨版QQ-开发纪实

阅读更多

先上几张图吧:

  启动时:

 

启动后

 

聊天中:

 

传文件

 

第一版:客户端以事件模型实现UI与通信分离;服务器端使用阻塞IO+对象数据库;

第二版:服务器端使用Mina框架NIO模型+缓冲队列+异步多线程消息处理提高消息收发性能;

自定定原始字节通信协议,实现QQ基本消息格式(登陆,加好友,文件传送....)

用户Q号和密码md5传送;聊天消息以用登陆后收到服务器发来的key以des加密.

 

 项目组长胡海亮(QQ:249782944)

 通信协议定义的文档见附件:

  • 大小: 39 KB
  • 大小: 25.6 KB
  • 大小: 56 KB
  • 大小: 48 KB
分享到:
评论
10 楼 insiku 2009-06-03  
hailiang0901 写道
CoxZhang 写道
如何穿透防火墙?
是否可以以UDP方式实现点对点文件传输?
我比较感兴趣这些,楼主有好的实现没?


没实现UDP方式实现点对点文件传输。


不基于UDP 就没有技术含量
9 楼 hailiang0901 2009-06-03  
hpjianhua 写道
LZ能否上传下源码共享下?...谢谢了


源码我去找找
8 楼 hailiang0901 2009-06-03  
Hooopo 写道
楼主是湖大的?


中南大学的 qq;249782944
7 楼 hailiang0901 2009-06-03  
CoxZhang 写道
如何穿透防火墙?
是否可以以UDP方式实现点对点文件传输?
我比较感兴趣这些,楼主有好的实现没?


没实现UDP方式实现点对点文件传输。
6 楼 hailiang0901 2009-06-03  
fjlyxx 写道
楼主,网络拓扑图帖出来瞧瞧.因为我想知道, 如果服务端在公网(服务端不能主动连接客户端) 你的程序还能跑吗? 因为我想知道客户端是否有在监听端口..如果你是保持一个长连接的  那么你定义的数据包格式会给你带来很大的麻烦(恶意攻击的情况下) 也许我发一个
数据包 写错了包的总字节大小 你的服务端就会出问题了....文件传输有点粗糙,在服务的不能主动连接客户端的情况下 文件传输是需要做特别处理的.因为你不能占有聊天消息的通道.你也许要靠反朔进行连接.
交换模型的图片贴出来瞧瞧就明白了..


  服务端在公网肯定能跑。我测试过这点。客户端是有在监听端口。以上你说的问题是很有道理。因为是出于爱好才写点这个的。协议没好好规范。
5 楼 CoxZhang 2009-06-02  
如何穿透防火墙?
是否可以以UDP方式实现点对点文件传输?
我比较感兴趣这些,楼主有好的实现没?
4 楼 Hooopo 2009-06-02  
楼主是湖大的?
3 楼 fjlyxx 2009-06-02  
楼主,网络拓扑图帖出来瞧瞧.因为我想知道, 如果服务端在公网(服务端不能主动连接客户端) 你的程序还能跑吗? 因为我想知道客户端是否有在监听端口..如果你是保持一个长连接的  那么你定义的数据包格式会给你带来很大的麻烦(恶意攻击的情况下) 也许我发一个
数据包 写错了包的总字节大小 你的服务端就会出问题了....文件传输有点粗糙,在服务的不能主动连接客户端的情况下 文件传输是需要做特别处理的.因为你不能占有聊天消息的通道.你也许要靠反朔进行连接.
交换模型的图片贴出来瞧瞧就明白了..
2 楼 keyboard2000 2009-06-01  
真够山寨,哈哈
界面也简单
1 楼 hpjianhua 2009-05-31  
LZ能否上传下源码共享下?...谢谢了

相关推荐

    山寨版QQ--存Java实现!!

    总的来说,JavaQQ项目展示了Java在开发桌面应用程序上的强大能力,特别是对于模仿复杂社交应用的功能实现。通过这个项目,开发者不仅可以学习到Java的基础知识,还能掌握到如何利用Java进行用户界面设计、数据库操作...

    山寨版QQ-韩顺平循序渐进学Java

    《山寨版QQ——韩顺平循序渐进学Java》是一个基于韩顺平老师的Java教学视频创作的项目,旨在帮助学习者深入理解Java编程语言,尤其是网络编程和GUI设计方面。这个项目分为两大部分:QQ客户端和服务器端,涵盖了基础...

    山寨版QQ 源代码 QQ2010界面

    标题中的“山寨版QQ 源代码 QQ2010界面”指的是一个非官方的、模仿QQ2010版本用户界面的软件项目,它的源代码是使用Java编程语言编写的。这个项目可能是为了教学目的,如描述中提到的“韩顺平JAVA教程视频配套源代码...

    山寨版qq源码+素材

    山寨版qq源码+素材 山寨版qq源码+素材 IM即时通信 山寨版qq源码+素材 可以自己分析,对于java学习比较好的哈!

    山寨版QQ源代码

    总之,开发一个像“山寨版QQ”这样的项目涵盖了广泛的IT知识领域,从网络编程到用户体验设计,再到系统架构和安全性,都需要开发者具备扎实的技术基础和实践经验。同时,这个项目也提供了一个学习和实践多种技术的好...

    java语言 山寨版QQ源码

    【标题】:“java语言 山寨版QQ源码”指的是基于Java编程语言实现的一个简易QQ聊天软件的源代码。这个项目通常是为了教学目的而设计,让学习者能够深入理解Java编程语言在网络通信、多线程、图形用户界面(GUI)等...

    仿QQ-----开发工具vs2005-

    【标题】:“仿QQ-----开发工具vs2005-” 指的是一个使用C#编程语言在Visual Studio 2005环境下开发的桌面应用程序,它的目标是模仿腾讯QQ的用户界面和功能,为初学者提供了一个学习客户端软件开发的实践项目。...

    山寨版qq源码.素材

    QQ是中国知名的即时通讯软件,由腾讯公司开发,其源代码是商业机密,不对外公开。然而,"山寨版qq源码.素材"这个主题暗示我们可能会探讨的是一个非官方的、模仿QQ功能的软件源码及相关的素材。在IT行业中,这样的...

    java山寨版qq项目

    【Java山寨版QQ项目】是韩顺平老师为了教学目的设计的一个模拟QQ功能的应用程序,旨在帮助初学者理解和掌握Java编程语言以及相关的软件开发技术。这个项目提供了从基础到进阶的Java编程实践,涵盖了网络通信、多线程...

    山寨版QQ,聊天通信

    "山寨版QQ"通常是指非官方、模仿QQ功能的软件,它们可能由Java爱好者开发,旨在提供类似QQ的聊天通信服务。下面将详细讨论相关知识点: 1. **Java编程语言**:Java是一种广泛使用的跨平台编程语言,适合开发桌面...

    山寨版qq源码+素材,采用javaee开发

    ③给出的源码并没有实现山寨qq全部功能,这个在视频教程中已经提到了,其余功能大家完全可以在学习完视频教程后,自行完成。 ④该项目没有使用到数据库. ⑤关于qq的在线添加用户、离线留言、在线传递文件、视频聊天...

    韩顺平山寨版QQ源码素材[评价可免费]

    首先是关于[评价可免费]的严正声明 一、评价=评论加评价(评星星) 二、评价必须是下载完了该资源后的评价,没下载评价无效 三、如果正确评价了,返还积分可能需要等一会,因为系统需要反应。 评论时记得要评分。...

    山寨版qq源码

    【标题】"山寨版qq源码"所涉及的知识点主要集中在客户端与服务器端的软件开发领域,这通常指的是创建一个类似QQ的即时通讯应用。这个项目可能是为了教学目的,由知名IT讲师韩顺平老师设计并讲解,让我们来详细探讨...

    完整版山寨版QQ

    基本实现了QQ常用的所有功能,用户注册,登录,私聊,群聊,窗口抖动,加好友,截图,改变字体,改变聊天窗口背景等,值得借鉴,不足地方还望大家指正。(注:数据库为mysql,用其他的数据库可以自己改动)

    山寨版qq源码+素材(毕业设计)

    这个"山寨版qq源码+素材"的压缩包文件提供了模拟QQ功能的基础框架,特别适合计算机科学与技术专业的学生作为毕业设计项目使用。下面我们将深入探讨其中可能包含的关键知识点: 1. **网络编程**:源码中必定包含了...

    简单山寨版QQ

    "简单山寨版QQ"是一个基于Java编程语言的项目,旨在为初学者提供一个学习和实践的基础平台,了解和掌握Java的一些核心概念和技术。这个项目主要涉及到以下几个关键知识点: 1. **Java基础知识**:Java是一种广泛...

Global site tag (gtag.js) - Google Analytics