自己写的qq...有客户端和服务器端(很简单的那种),,符合你的多线程。。。代码就是java se中学到知识写的,,给你的是整个项目
创新互联专注于达茂旗网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供达茂旗营销型网站建设,达茂旗网站制作、达茂旗网页设计、达茂旗网站官网定制、小程序设计服务,打造达茂旗网络公司原创品牌,更为您提供达茂旗网站排名全网营销落地服务。
new Thread(){
public void run(){
while(true){
实例一个线程
try {
ObjectInputStream ois=
new ObjectInputStream(
s.getInputStream());
打开流通道 接收信息
if("login".equals(type)){
ListString users=msg.getUserList();
if(dlm.getSize()==0){
for(int i=0;iusers.size();i++){
dlm.addElement(users.get(i));
}
如果type为‘login’的话获取msg中的userlist()
Object obj=ois.readObject();
Message msg=(Message)obj;
String type=msg.getType();
把接收的信息转成message类型 获取msg中的type信息
System.out.println("hhhh");
debug用 无意义
if("login".equals(type)){
ListString users=msg.getUserList();
if(dlm.getSize()==0){
for(int i=0;iusers.size();i++){
dlm.addElement(users.get(i));
}
如果type为“login”拿就获取msg中的userlist() 如果dlm中信息量为0 则把userlist()内信息赋给dlm
}else{
dlm.addElement(msg.getFromUser());
}
否则dlm增加信息为msg中的formuser();
String oldMes=showMessage.getText();
String newMes=msg.getSendContent();
if(oldMes==null||"".equals(oldMes)){
showMessage.setText(newMes);
}else{
String allMes=oldMes+"\n"+newMes;
showMessage.setText(allMes);
}
获取原始信息 新增信息 若原始信息为空则显示新信息 否则显示原始信息 + 换行 + 新信息
else if("logout".equals(type)){
String name2=msg.getFromUser();
if(name2.equals(name)){
dlm.removeAllElements();
}else{
dlm.removeAllElements();
ListString users=msg.getUserList();
for(int i=0;iusers.size();i++){
dlm.addElement(users.get(i));
}
}
如果type==“logout” 如果下线的用户是自己则删除dlm所有信息 如果不是自己则dlm删除后重新获取userlist()
下面的都被注释掉了
像这类的QQ空间代码在很久以前就不能使用了(这类代码原来在新建的模块里有个描述的框,这类代码写在描述里即可),QQ空间已经更新N次,已经封堵了很多漏洞,目前可以免费使用的只有JAVA代码:
QQ空间免费装扮在线视频教程:
;rn=20pn=0db=0s=0fbl=1024word=QQ%BF%D5%BC%E4%C3%E2%B7%D1%D7%B0%B0%E7
QQ空间代码使用方法:
1、进入自己空间,将你要的代码复制---“javascript:window.top.space_addItem(1,8669,100,80,100,100,94);”引号里就是一个完整的代码
2、将复制的代码粘贴到地址栏(就是输入网址的那个地方)覆盖地址栏里的地址,然后按回车就会出现效果
3、点一下“自定义”,点保存就可以了
以下代码可以免费使用:
免费皮肤:
静悄悄(非纯黑) javascript:window.top.space_addItem(1,8669,100,80,100,100,94);
静悄悄(去花,居中)javascript:window.top.space_addItem(1,8669,100,80,100,100,93);
如此的爱 javascript:window.top.space_addItem(1,4693,0,80,0,0,94);
全粉(带少许花瓣) javascript:window.top.space_addItem(1,4693,0,0,0,0,93);
开场动画:
欢迎来我家:javascript:window.top.space_addItem(14,4386,0,0,1,1,0);
幽夜幕: javascript:window.top.space_addItem(14,5002,0,0,1,1,0);
与你分享:javascript:window.top.space_addItem(14,4387,0,0,1,1,0);
月光马 :javascript:window.top.space_addItem(14,5077,0,0,1,1,0);
分享:javascript:window.top.space_addItem(14,5329,0,0,1,1,0);
冲吧跟斗云:javascript:window.top.space_addItem(14,4333,0,0,1,1,0);
国旗 javascript:window.top.space_addItem(14,5423,0,0,1,1,0);
加冕日 javascript:window.top.space_addItem(14,5242,0,0,1,1,0);
蓝色美女 javascript:window.top.space_addItem(14,7982,0,0,1,1,0);
鼠标代码:
javascript:window.top.space_addItem(4,5837,0,0,1,1,0);
javascript:window.top.space_addItem(4,5535,0,0,1,1,0);
javascript:window.top.space_addItem(4,4966,0,0,0,1,0);
javascript:window.top.space_addItem(4,1151,0,0,0,1,0);
花藤:
javascript:window.top.space_addItem(7,7288,0,0,0,1,0);
人参果挂件:
javascript:window.top.space_addItem(16,22103,180,380,600,290,0);
漂浮物:
梦的希望 javascript:window.top.space_addItem(5,609,0,0,1,1,0);
爱情天使 javascript:window.top.space_addItem(5,1097,0,0,1,1,0);
HAPPY javascript:window.top.space_addItem(5,1816,0,0,1,1,0);
菊花台 javascript:window.top.space_addItem(16,22099,300,80,500,500,0);
浪漫满屋 javascript:window.top.space_addItem(16,22101,300,80,500,500,0);
奇幻花园 javascript:window.top.space_addItem(16,22103,300,80,500,500,0);
让爱做主 javascript:window.top.space_addItem(16,22105,300,80,500,500,0);
个性公主 javascript:window.top.space_addItem(16,22097,50,80,250,250,0);
FLASH漂浮
javascript:window.top.space_addItem(16,23212,350,80,500,600,0);
javascript:window.top.space_addItem(16,23214,350,80,500,600,0);
javascript:window.top.space_addItem(16,23216,350,80,500,600,0);
javascript:window.top.space_addItem(16,23226,350,80,500,600,0);
javascript:window.top.space_addItem(16,23228,350,80,500,600,0);
javascript:window.top.space_addItem(16,23230,350,80,500,600,0);
javascript:window.top.space_addItem(16,23232,350,80,500,600,0);
javascript:window.top.space_addItem(16,23234,350,80,500,600,0);
javascript:window.top.space_addItem(16,23236,330,80,600,600,0);
导航:
javascript:window.top.space_addItem(13,9758,0,0,200,600,0);
横向导航:
javascript:window.top.space_addItem(13,5503,0,0,450,70,0);
爱心花藤:
javascript:window.top.space_addItem(13,9114,0,0,200,600,0)
清甜爽口:
javascript:window.top.space_addItem(13,4384,0,0,150,700,0);
流金岁月:
javascript:window.top.space_addItem(13,5330,0,0,150,700,0);
摘星:
javascript:window.top.space_addItem(13,5145,0,0,150,700,0);
深海奥妙:
javascript:window.top.space_addItem(13,5003,0,0,150,700,0);
播放器:
blue:
javascript:window.top.space_addItem(6,676,0,0,200,200,0);
茶色:
javascript:window.top.space_addItem(6,702,0,0,200,200,0);
水晶年代:
javascript:window.top.space_addItem(6,703,0,0,200,200,0);
旋律:
javascript:window.top.space_addItem(6,1228,0,0,200,200,0);
挂件
javascript:window.top.space_addItem(16,15916,0,0,200,200,0);
javascript:window.top.space_addItem(2,4965,0,0,1,1,0);
发过去了 我邮箱是 runkit@spy32.com
这个是可以使用的QQ源码Java版 原作者目的是让此程序在Linux下奔跑
用eclipse 编译
用java是可以写出qq的,只不过用java开发c/s的软件不是java特长的,你要是真的想写,就写着练练手吧,最起码可以巩固java se上的知识。
具体怎么写,给你个大概的思路吧,因为我没办法在这个有限的输入框内把所有的代码写完。
【1】先写出qq的简单界面
【2】给每个按钮添加监听
【3】按钮事件(方法)定义
【4】连接网络(socket)
【5】测试
【5】其他功能添加
【6】测试