知识大全 JAVA与QQ网络通讯实例
Posted 事件
篇首语:人的影响短暂而微弱,书的影响则广泛而深远。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JAVA与QQ网络通讯实例相关的知识,希望对你有一定的参考价值。
JAVA与QQ网络通讯实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
准备工作:
两个QQ(Q号现在好容易申请)
eclipse(支持awt swing 可视化开发的版本为佳)
JDK 以上
JQL 直接从官方那边下载的不能直接用需要改装 下载地址:
步骤:
解压jqgsv beta_src
用eclipse导入目录jqgsv beta_src下的项目
把jqgsv beta_src目录下的mons codec jar 和 mons logging jar加到项目属性里的Librares中
打开 myqq MuiltQQfrendSend 实例代码都在这里 可以直接运行用eclipse运行该类 如果登陆失败 多登陆
几次就可以了
//登陆代码
client = new QQClient();
client setConnectionPoolFactory(new PortGateFactory());
QQUser user = new QQUser(你的Q号 你Q号的密码);
client addQQListener(this);
user setUdp(true);
client setUser(user);
//client setLoginServer( );
client setLoginServer( );
qq服务器地址有多种 你可以选一个填上去 QQ号必须是整型
//发送消息
client sendIM(一个好友的QQ号 Util getBytes(ext));//发送一个普通的消息
好友的QQ号必须是整型
类QQClient主要是执行QQ客户端的动作 比如 发送消息 添加好友 获取好友等
//获取你的Q号下的所有好友信息
GetFriendListReplyPacket gf = (GetFriendListReplyPacket)e getSource();
java util List friends = (java util List) gf friends;
for(int i = ; i < friends size() ; i++)
QQFriend qf = (QQFriend)friends get(i);
jTextArea setText(jTextArea getText() + String valueOf(qf qqNum) + \\n );
if((int)gf position != )
client getFriendList(gf position);
else
jButton setEnabled(true);
jButton setEnabled(true);
client getFriendList() //获取好友列表
这个方法需要配合一个变量position和一个事件才能完成 因为QQ是按多次发送好友列表 position =
表示已到好友列表最后一页 不需要在getFriendList 当得到好友列表会产生一个事件 事件编号为
GetFriendListReplyPacket 好友类
//事件驱动
jql全部采用事件驱动 实现接口 IQQListener
public void qqEvent(QQEvent e) //事件监听器
System out println( 事件ID: + e type);
/* */ switch(e type)
/* < MISALIGNED > */ /* */ default:
break;
/* < MISALIGNED > */ /* */ case :
/* < MISALIGNED > */ /* */ processLoginSuccess();//对应的事件处理
/* < MISALIGNED > */ /* */ break;
/* < MISALIGNED > */ /* */ case :
/* < MISALIGNED > */ /* */ processLoginFail();
/* < MISALIGNED > */ /* */ break;
///* < MISALIGNED > */ /* */ case :
///* < MISALIGNED > */ /* */ processLoginUnknownError();
///* < MISALIGNED > */ /* */ break;
/* < MISALIGNED > */ /* */ case :
/* < MISALIGNED > */ /* */ processSendIMSuccess();
/* < MISALIGNED > */ /* */ break;
/* < MISALIGNED > */ /* */ case :
/* < MISALIGNED > */ /* */ processChangeStatusSuccess();
QQ的每次动作都会产生一个事件 每个事件对应一个整数 在类edu tsinghua lumaqq qq events QQEvent有具体描述
cha138/Article/program/Java/hx/201311/26541相关参考
Java阻塞队列实例分析与破解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
通过JAVA与串口(RS232)通信实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近了解
反编译、破解JAVA软件的方法、实例与经验 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前几天
Java的网络功能与编程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要Java语言是Int
VRML与JAVA在网络课件交互运用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 虚拟现实建模
FlexSocket与Java通讯客户端写法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &l
实际上就是非对称密钥加密RSA 但为什么不使用jca这些java自带的呢?因为android是非sun的虚拟机其实现方法有不同在现实使用中老是报错而且网上几乎没有资料谈到这些所以干脆自己写纯ja
知识大全 IO的阻塞与非阻塞、同步与异步以及Java网络IO交互方式
IO的阻塞与非阻塞、同步与异步以及Java网络IO交互方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
php仿QQ验证码的实例分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文介绍一个php实现的
Java进阶Java中具有实例缓存的不可变类 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 不可