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

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

成员:邢正,郑振兰

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

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

代码截图:

38d7339bce629f31eeb8285a32177dc3.png

1d600bc72d835401a5d653945061aa69.png

0d57e3f1a298b583e1f6ffe6e43d9344.png

435f9bd5eec8c4f1e61e4c2ccca87662.png

f8e09d176c46fbd1cb9308e31f80f2f1.png

517e1430382d1c197e5e21df2be0f551.png

70b06faeece637aa391b7fcae56f04b8.png

540f95356395494646f583686fd108ff.png

42d94deba909c9a16ac567ad97ad510c.png

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

2fa0931ff36d86eca34e55d1fa8c1f8d.png

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

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

记录时间:选题10min

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值