结对博客(Java通信项目QQ)

项目名称:JAVA通信项目——QQ

成员:邢正,郑振兰

项目需求:QQ每个人都用过,它的意义就不再讲了。之所以选择做QQ事因为它有挑战性,涉及到通信、传输、swing等各种知识。(好吧我不装逼了,说的直白点,代码量大,如果写五子棋贪吃蛇之类的绝对写不到500行)

首先整个项目分为两部分:客户端和服务器。客户端要完成的功能就是界面(主界面,好友列表,聊天界面)以及登录、聊天功能。服务器作为后台,负责通信连接。做项目时逻辑一定要清楚,类与类包与包之间的逻辑关系以及分层一定要明白

代码截图:

因为没用数据库也没有用集合框架来记录用户信息,所以在登录时直接在Myserver里进行判断,账号可以随便填,但密码必须是123456,不是则弹出提示框,是则跳转到好友列表。聊天功能没能实现从服务器转发到客户端,但是服务器已经可以抓到从客户端输入的信息。这里出了个错,我们测试服务器抓信息时很正常,但是关闭界面后会报错java.net.SocketException: Connection reset,应该是哪里的socket没有正常关闭,但是不知道怎么解决了,就留下了这个bug。一开始还没在意,继续往后写,当让服务器像客户端转发消息时就出错了。

可能是我太笨,实在是找不到一个好的角度自拍既可以拍到人有拍到电脑于是就这样拍了一张(虽然怎么看都像是秀恩爱而不像是在敲代码)

约定的规范:凡是涉及到界面设计的,需要加监听的地方,起名字都必须直观方便;客户端和服务器端必须有一个名字相同的包如com.commen,用来存放User,Message等类;端口号为9999;所有类的命名需要统一协商以便调用以及类里的方法或成员变量;规定好消息包,如1代表信息正确可以登录,2表示信息错误,还有其他消息包;每个功能前加注释。

记录时间:选题10min

分工、编写程序、调试总共用了四天(包括查书看视频)

心得体会:动嘴容易动手难,感觉挺好做的东西真正做起来会遇到很多问题,通信、流这里的知识不牢固,需要看着书才能敲出来,出了差错解决起来也不简单,项目涉及到集合框架知识,这里需要再系统学一学。不管以后做什么项目,一定要动手做,光看视频是很难掌握的,就算对着视频敲下来,也会发生一些错误,我这里出现最多的就是jdk版本问题……当然还有其他小问题,只好向度娘求助。

时间: 2024-11-05 17:34:18

结对博客(Java通信项目QQ)的相关文章

结对博客

一.Coding.Net项目地址: https://git.coding.net/qiuyuwutong/Operation2.git 二.PSP表格 PSP2.1 任务内容 计划共完成需要的时间(min) Planning 计划 30 ·        Estimate ·   估计这个任务需要多少时间,并规划大致工作步骤 30 Development 开发 960 ·        Analysis ·         需求分析 (包括学习新技术) 30 ·        Design Sp

结对博客(扫雷小游戏)

结对题目:基于一款课下娱乐的小游戏—扫雷 一.需求分析: 1.背景:在现在社会,人们的工作和学习压力不断增大,空余时间时间日益减少,一些大型的娱乐游戏又耗费大量的娱乐时间, 又不一定对身体有益,因此不耗费大量时间的小游戏,方便有趣,是大势所趋. 2.目的:编译此系统是为了在工作和学习之余得到适当的放松,既不浪费大量时间,又可以锻炼自己的思维,缓解疲劳. 3.应用人群:本游戏是基于windows下的小游戏,对人基本没有害处,因此能接触computer的人都可以玩这款游戏. 4.设计概述: 本游戏界

python3进阶开发-第一个仿博客园的项目(1)

首先我们要设计一下表结构: UserInfo(用户信息表) -------->一对一    ----------->Blog(博客信息表) UserInfo(用户信息表) --------->一对多    ----------->Article UpDown(点赞表) UserInfo(用户信息表) --------->一对多    ----------->Article Comment(评论表) UserInfo(用户信息表)---------->一对多   

01、springboot+security+vue个人博客系统之项目创建

整体项目结构 更改后的目录结构为 配置pom.xml文件 添加依赖 <!--security--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <!--web--> <dependency> &l

我的第一篇博客——————java语言程序设计随笔

java新学期的感想理解 随着计算机技术的进步,计算机在很多方面都改变着人们的工作,生活与娱乐的方式.亚马逊,淘宝等电子商务网站为人们提高了便捷的购物方式:微信,微薄等为人们提供了新的社会交往及交流信息的方式.上学期是我们第一次接触java这门课程,通过一个学期的了解与学习,对这门课程有了新的看法与兴趣.同时也知道了那些平常运行的看似普通的界面背后却是由一行行程序构成,这些短短的程序都有着各自的作用,一个符号.一个拼写错误,这些错误对程序员来说都是不能犯的.上学期我们记忆最深刻的一定是GUI界面

node.js开发博客系统前端项目搭建(一)

Express: https://github.com/petecoop/generator-express 安装node.js和npm 执行: npm install -g yo npm install -g generator-express 执行:yo 创建项目成功. 项目的目录: brew安装:MongoDb http://blog.csdn.net/moumaobuchiyu/article/details/54885306 http://www.cnblogs.com/junqili

博客园侧边栏添加QQ链接

一.先开通自己的QQ在线状态.步骤 1.搜索QQ在线状态官网: 地址:http://shang.qq.com/v3/index.html 2.点击推广工具 ,组件样式为标准式: 二.复制以上代码到侧边栏公告中,稍作修改 <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=904215848&site=qq&menu=yes">QQ:<img align="

第六次博客作业—— Bookstore项目集成测试缺陷报告

first~~博客(java第三章)

第三章     选择结构 一.常用逻辑运算符 1.&& 与 并且的意思  条件1&&条件二   需要同时满足两个或多个条件 2.|| 或 或者的意思  条件1&&条件二  只要满足其中一个条件就可以 3.!  非  ! 条件1  条件为真时,结果为假;条件为假,结果为真 二.四种if结构  1.单分支if结构 //声明一个变量  int i=10;    if(i>=5){  //条件符合就继续执行大括号中的语句,否则跳出循环   System.out