关于山寨QQ的java的源代码Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。文库里没有关于山寨QQ的java的源代码,只能看了视频整理自己写了,特免费分享。文档说明:根据java教学视频《韩顺平.循序渐进学.java.从入门到精通》(第87~94讲)整理得源相关代码。代码调试无误,下载后调试有误的可评论留言联系。image中图片附录在源代码后面。工程文件夹:(源代码)/***这是客户端连接服务器的后台*/packagecom.qq.client.model;importcom.qq.client.tools.*;importjava.util.*;importjava.net.*;importjava.io.*;importcom.qq.common.*;publicclassQqClientConServer{publicSockets;//发送第一次请求publicbooleansendLoginInfoToServer(Objecto){booleanb=false;try{//System.out.println("kk");s=newSocket("127.0.0.1",9988);ObjectOutputStreamoos=newObjectOutputStream(s.getOutputStream());oos.writeObject(o);ObjectInputStreamois=newObjectInputStream(s.getInputStream());Messagems=(Message)ois.readObject();//这里就是验证用户登录的地方if(ms.getMesType().equals("1")){//就创建一个该qq号和服务器端保持通讯连接得线程ClientConServerThreadccst=newClientConServerThread(s);//启动该通讯线程ccst.start();ManageClientConServerThread.addClientConServerThread(((User)o).getUserId(),ccst);b=true;}else{//关闭Scokets.close();}}catch(Exceptione){e.printStackTrace();//TODO:handleexception}finally{}returnb;}publicvoidSendInfoToServer(Objecto){/*try{Sockets=newSocket("127.0.0.1",9999);}catch(Exceptione){e.printStackTrace();//TODO:handleexception}finally{}*/}}packagecom.qq.client.model;importcom.qq.common.*;publicclassQqClientUser{publicbooleancheckUser(Useru){returnnewQqClientConServer().sendLoginInfoToServer(u);}}/***这是客户端和服务器端保持通讯的线程.*/packagecom.qq.client.tools;importjava.io.*;importjava.net.*;importcom.qq.client.view.QqChat;importcom.qq.client.view.QqFriendList;importcom.qq.common.*;publicclassClientConServerThreadextendsThread{privateSockets;//构造函数publicClientConServerThread(Sockets){this.s=s;}publicvoidrun(){while(true){//不停的读取从服务器端发来的消息try{ObjectInputStreamois=newObjectInputStream(s.getInputStream());Messagem=(Message)ois.readObject();System.out.println("读取到从服务发来的消息"+m.getSender()+"给"+m.getGetter()+"内容"+m.getCon());if(m.getMesType().equals(MessageType.message_comm_mes)){//把从服务器获得消息,显示到该显示的聊天界面QqChatqqChat=ManageQqChat.getQqChat(m.getGetter()+""+m.getSender());//显示qqChat.showMessage(m);}elseif(m.getMesType().equals(MessageType.message_ret_onLineFriend)){System.out.println("客户端接收到"+m.getCon());Stringcon=m.getCon();Stringfriends[]=con.split("");Stringgetter=m.getGetter();System.out.println("getter="+getter);//修改相应的好友列表.QqFriendListqqFriendList=ManageQqFriendList.getQqFriendList(getter);////if(qqFriendList)//更新在线好友.if(qqFriendList!=null){qqFriendList.upateFriend(m);}}}catch(Exceptione){e.printStackTrace();//TODO:handleexception}}}publicSocketgetS(){returns;}publicvoidsetS(Sockets){this.s=s;}}/***这是一个管理客户端和服务器保持通讯的线程类*/packagecom.qq.client.tools;importjava.util.*;publicclassManageClientConServerThread{...