《关于山寨QQ的java的源代码.docx》由会员分享,可在线阅读,更多相关《关于山寨QQ的java的源代码.docx(25页珍藏版)》请在第一文库网上搜索。
1、关于山寨QQ的java的源代码Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,JaVa更具备了显著优势和广阔前景。文库里没有关于山寨QQ的java的源代码,只能看了视频整理自己写了,特免费分享。文档说明:根据java教学视频韩顺平.
2、循序渐进学java.从入门到精通(第8794讲)整理得源相关代码。代码调试无误,下载后调试有误的可评论留言联系。image中图片附录在源代码后面。工程文件夹:,一一.o.一.-V/赘ZTestQqC1ient,src田com.qq.c1ient.mode1I:*t)Qqc1ientConServerjavaJ2)QqC1ientUserjava田com.qq.dienttoo1sJJ)C1ientConServerThreadjavatManagec1ientConServerThreadjava1mManageQqChatjavaT)ManageQqFriendIjstjava,com.qq
3、.dient.view1jj)QqChatJavaQqCIient1oginjavamQqFriend1istjava,田mon:jj)Messagejava02)MessageTypejavat川Userjava3JRESystem1ibraryJavaSE-1.6&image国c1ear.gif阖deng1u.gif国mm.jpg3qqgif屈quxiao.gifThumbs.db国tou.gif溷xiangdao.gifrrotnyDuxpiwiSioW2TestQqC1ient濯2TestQqServerSSrCJBmonMessagejava团MessageTypeJava辽IUse
4、rjavacom.qq.server.db加com.qq.server.mode1功ManageCIientThreadjavaMyQqServerjavamSerConC1ientThreadjavacom.qq.server.t1s曲com.qq.server.view团MyServerFramejavaBJRESystem1ibraryJavaSE-1.6(源代码)/*这是客户端连接服务器的后台*/packagecom.qq.c1ient.mode1;importcom.qq.c1ient.too1s.*;importjava.uti1.*;.*;importjava.io.*;mon.
5、*;pub1icc1assQqC1ientConServerpub1icSockets;发送第一次请求pub1icboo1eansend1oginInfoToServer(Objecto)(boo1eanb=fa1se;try(/System.out.print1n(,kk);s=newSocket(127.0.0.,9988);ObjectOutputStreamoos=newObjectOutputStream(s.getOutputStream();oos.writebject(o);ObjectInputStreamois=newObjectInputStream(s.getInput
6、Stream();Messagems=(Message)ois.readObject();这里就是验证用户登录的地方if(ms.getMesType().equa!s(1)就创建个该qq号和服务器端保持通讯连接得线程C1ientConServerThreadccst=newC1ientConServerThread(S);启动该通讯线程ccst.start();ManageC1ientConServerThread.addC1ientConServerThread(User)o).getUserId(),ccst);b=true;)e1se关闭Scokets.c1ose();)catch(Ex
7、ceptione)e.printStackTrace();/TODO:hand1eexceptionfina11y1returnb;)pub1icvoidSendInfoToServer(Objecto)(*trySockets=newSocket(127.0.0.1,9999);)catch(Exceptione)e.printStackTrace();/TODO:hand1eexception)fina11y)*/11packagecom.qq.c1ient.mode1;mon.*;pub1icc1assQqCIientUserpub1icboo1eancheckUser(Useru)(r
8、eturnnewQqC1ientConServerQ.send1ogin1nfoToServer(u);)*这是客户端和服务器端保持通讯的线程.*/packagecom.qq.c1ient.too1s;importjava.io.*;.*;importcom.qq.c1ient.view.QqChat;importcom.qq.c1ient.view.QqFriend1ist;mon.*;pub1icc1assC1ientConServerThreadextendsThreadprivateSockets;构造函数pub1icC1ientConSen,erThread(Sockets)this
9、.s=s;)pub1icvoidrun()(whi1e(true)(不停的读取从服务器端发来的消息try(ObjectInputStreamois=newObjectInputStream(s.getInputStream();Messagem=(Message)ois.readObject();System.out.print1n(读取到从服务发来的消息+m.getSender()+给+m.getGetter()+内容+m.getCon();if(m.getMesType().equa1s(MessageType.message_comm_mes)(把从服务器获得消息,显示到该显示的聊天界面
10、QqChatqqChat=ManageQqChat.getQqChat(m.getGetter()+m.getSender();显示qqChat.showMessage(m);(e1seif(m.getMesType().equa1s(MessageType.message_ret_on1ineFriend)(SyStem.out.print1n(“客户端接收到”+m.getCon();Stringcon=m.getCon();Stringfriends=con.sp1it();Stringgetter=m.getGetter();System.out.print1n(,getter=,+ge
11、tter);/修改相应的好友列表.QqFriend1istqqFriend1ist=ManageQqFriend1ist.getQqFriend1ist(getter);/if(qqFriend1ist)更新在线好友.if(qqFriend1ist!=nu11)(qqFriend1ist.upateFriend(m);1)catch(Exceptione)e.printStackTrace();/TODO:hand1eexception1)pub1icSocketgetS()returns;)pub1icvoidsetS(Sockets)this.s=s;)*这是一个管理客户端和服务器保持通讯
12、的线程类*/packagecom.qq.c1ient.too1s;importjava.uti1.*;pub1icc1assManageciicntConServerThreadprivatestaticHashMaphm=newHashMap();把创建好的C1ientConServerThread放入到Ihmpub1icstaticvoidaddC1ientConServerThread(Stringqq1d,C1ientConServerThreadccst)(hm.put(qq1d,ccst);1可以通过qq1d取得该线程pub1icstaticC1ientConServerThrea
13、dgetC1ientConServerThread(Stringqq1d)(return(C1ientCOnSerVerThread)hm.get(qq1d);)*这是一个管理用户聊天界面的类*/packagecom.qq.c1ient.too1s;importjava.uti1.*;importcom.qq.c1ient.view.*;pub1icc1assManageQqChatprivatestaticHashMaphm=nevHashMap();加入pub1icstaticvoidaddQqChat(StringIoginIdAnFriendId5QqChatqqChat)(hm.pu
14、t(1oginIdAnFriendId,qqChat);)取出pub1icstaticQqChatgetQqChat(StringIoginIdAnFriendId)(return(QqChat)hm.get(1oginIdAnFriendId);)*管理好友、黑名单,界面类*/packagecom.qq.c1icnt.too1s;importjava.uti1.*;importjava.io.*;importcom.qq.c1ient.view.*;pub1icc1assManageQqFriend1istprivatestaticHashMaphm=newHashMap();pub1icstaticvoidaddQqFriend1ist(Stringqqid,QqFriend1istqqFriend1ist)hm.put(qqid,qqFriend1ist);1pub1icstaticQqFriend1istg