smack api 转载未测试

===============================================================
主动发送信息给某个用户
------------------------------------
XMPPConnection.DEBUG_ENABLED
= true;
//设置服务器地址
XMPPConnection conn = new XMPPConnection("127.0.0.1");

conn.connect();
//输入账号和密码登陆
conn.login("[email protected]", "123456");

//创建一个和test1的对话,并设置信息监听
Chat mychat =
conn.getManager().create("[email protected]",
new MessageListener()
{
@Override
public void processMessage(Chat chat,, Message message)
{
String messageBody =
message.getBody();
System.out.println("收到信息:"+messageBody);
}
});
//发送给test1文本信息
mychat.sendMessage("hello");
//退出登陆
conn.disconnect();
===============================================================
设置自己的登陆状态
------------------------------------
XMPPConnection.DEBUG_ENABLED
= true;
//设置服务器地址
XMPPConnection conn = new XMPPConnection("127.0.0.1");

conn.connect();
//输入账号和密码登陆
conn.login("[email protected]", "123456");

//设置登陆后的个人状态信息
Presence p = new
Presence(Presence.Type.available);
p.setStatus("发呆中。。。");
conn.sendPacket(p);

//退出登陆
conn.disconnect();
==========================================================================
被动接收用户发来的信息
------------------------------------
XMPPConnection.DEBUG_ENABLED
= true;
//设置服务器地址
XMPPConnection conn = new XMPPConnection("127.0.0.1");

conn.connect();
//输入账号和密码登陆
conn.login("[email protected]", "123456");

//设置信息的监听
conn.getChatManager().addChatListener(new ChatManagerListener()
{
@Override
public void chatCreated(Chat chat, boolean createdLocally)
{
chat.addMessageListener(new MessageListener()
{
@Override
public void processMessage(Chat chat, Message message)
{
String messageBody =
message.getBody();
System.out.println("接收到信息:"+messageBody);
}
});
}
});
//退出登陆
conn.disconnect();
==========================================================================
获取我的好友列表
------------------------------------
//设置服务器地址
XMPPConnection
conn = new XMPPConnection("127.0.0.1");

conn.connect();
//输入账号和密码登陆
conn.login("[email protected]", "123456");

Collection<RosterEntry> rosters =
conn.getRoster().getEntries();
System.out.println("我的好友列表:=======================");
for(RosterEntry
rosterEntry : rosters){
System.out.print("name:
"+rosterEntry.getName()+",jid:
"+rosterEntry.getUser());
System.out.println("");
}
System.out.println("我的好友列表:=======================");

conn.disconnect();
==========================================================================
聊天窗口输入状态,使用XEP-0085
协议
------------------------------------
//发送给test1初始文本信息,附带输入状态
Message
mess = new Message();
mess.addExtension(new
ChatStateExtension(ChatState.active));
mychat.sendMessage(mess);
//发送给test1初始文本信息,附带正在输入的状态
Message
mess = new Message();
mess.addExtension(new
ChatStateExtension(ChatState.composing));
mychat.sendMessage(mess);

//发送给test1初始文本信息,附带暂停输入的状态
Message mess = new
Message();
mess.addExtension(new
ChatStateExtension(ChatState.paused));
mychat.sendMessage(mess);
//其他略。。。

//接收的时候
public void processMessage(Chat chat, Message message)
{
String messageBody = message.getBody();
PacketExtension
pe;

pe =
message.getExtension("composing","http://jabber.org/protocol/chatstates");
if(pe
!= null){
System.out.println("对方正在输入......");
}

pe =
message.getExtension("active","http://jabber.org/protocol/chatstates");
if(pe
!= null){
System.out.println("接收到信息:"+messageBody);
}

pe =
message.getExtension("paused","http://jabber.org/protocol/chatstates");
if(pe
!= null){
System.out.println("对方已暂停输入");
}

pe =
message.getExtension("inactive","http://jabber.org/protocol/chatstates");
if(pe
!= null){
System.out.println("对方聊天窗口失去焦点");
}

pe =
message.getExtension("gone","http://jabber.org/protocol/chatstates");
if(pe
!=
null){
System.out.println("对方聊天窗口被关闭");
}
}
==========================================================================
接收邀请,加入多人聊天房间
------------------------------------
MultiUserChat.addInvitationListener(conn,
new InvitationListener() {
@Override
public void
invitationReceived(XMPPConnection conn, String room,
String inviter,
String reason, String password, Message message) {
MultiUserChat
multiUserChat = new MultiUserChat(conn, room);
System.out.println("收到来自
"+inviter+" 的聊天室邀请。邀请附带内容:"+reason);
try
{
multiUserChat.join("test2", password);
} catch (XMPPException e)
{
System.out.println("加入聊天室失败");
e.printStackTrace();
}
System.out.println("成功加入聊天室");
multiUserChat.addMessageListener(new
PacketListener() {
@Override
public void processPacket(Packet
packet) {
Message message =
(Message)packet;
//接收来自聊天室的聊天信息
System.out.println(message.getFrom()+":"+message.getBody());
}
});
}
//发送信息到聊天室
multiUserChat.sendMessage("新手到来,大家关照!");
});

==========================================================================
登陆gtalk
------------------------------------
XMPPConnection
conn = new XMPPConnection(new ConnectionConfiguration("talk.google.com", 5222,
"gmail.com"));
conn.connect();
//输入gtalk的账号密码
conn.login("88888888",
"8888888888");
Collection<RosterEntry> rosters =
conn.getRoster().getEntries();
//获取gtalk上的好友列表
System.out.println("我的好友列表:=======================");

for(RosterEntry rosterEntry : rosters){
System.out.print("name:
"+rosterEntry.getName()+",jid:
"+rosterEntry.getUser());
System.out.println("");
}
System.out.println("我的好友列表:=======================");

conn.disconnect();
==========================================================================

smack api 转载未测试,布布扣,bubuko.com

时间: 2024-12-23 02:28:53

smack api 转载未测试的相关文章

C++ primer学习记录(个人猜想未测试版本)

学习版本:第五版. 本博文主要记录个人曾经并不知晓知识细节. 因为linux下的编译环境还未进行学习.所以实际代码测试将在今后完成. 红色:需确认. 蓝色:重点. 1)const对象设定为仅在文件内有效.个人认为:.h .cpp属于同文件的概念(未测试). 2)constexpr:常量表达式标示符.使用此作为前/后缀时,表示此变量/函数为常量表达式.但,具体用途?以及为何需要这样的标示符? 3)但凡使用迭代器的循环,都不要向迭代器增加元素.因为增加元素可能导致容器重新分配内存,导致后续迭代器操作

[转载]聊聊测试管理

转载自"山丘的测试之道" : 聊聊测试管理(管事篇)   管理:管人+管事. 说到管理,其实就是团队,没有团队,就谈不上管理.个人理解,对个人而言,更多应该是计划,而非管理.做管理的时间并不长,或者说很短,可能很多地方理解的有问题.写这篇文章也是为了能更多的与大家交流,也是记录下在目前这个阶段我的理解.(本文均以在创业型公司工作为背景),全篇分为管事篇跟管人篇. 管事篇 一.测试的工作流程. 关于这个点,其实网络上一搜一大堆,大体都差不多,需求分析,测试计划,设计测试用例,评审用例,执

codesmith API转载

CodeSmith API 中文版 目录 1   CodeSmith.BaseTemplates 1.1  Batch 1.1.1  属性 1.1.2  方法 1.2  OutputFileCodeTemplate 1.2.1  属性 1.2.2  方法 1.3  ScriptError 1.3.1  方法 1.4  ScriptErrorCollection 1.4.1  属性 1.4.2  方法 1.5  ScriptResult 1.5.1  属性 1.5.2  方法 1.6  Scrip

selenium2.0(WebDriver) API - 转载自:http://www.cnblogs.com/puresoul/p/3477918.html

1.1  下载selenium2.0的包 官方download包地址:http://code.google.com/p/selenium/downloads/list 官方User Guide:  http://seleniumhq.org/docs/ 官方API:  http://selenium.googlecode.com/git/docs/api/java/index.html 1.2.1  用webdriver打开一个浏览器 打开firefox浏览器: WebDriver driver

Web API 自动生成帮助文档并使用Web API Test Client 测试

之前在项目中有用到webapi对外提供接口,发现在项目中有根据webapi的方法和注释自动生成帮助文档,还可以测试webapi方法,功能很是强大,现拿出来与大家分享一下. 先看一下生成的webapi文档. 1.下图展示的是生成帮助文档首页面,其中Values是controller,API下面的列表展示出请求的http方法(Get,POST等),请求的action,方法的描述. 2.点击红框内的链接,打开api方法的详情页面,如下图所示, 3.点击Test API打开如下页面 4.输入参数,点击S

课程设计2 终结版-未测试

公司项目ok了,抽空写完代码,苦于win2000对磁盘有保护,不能直接用int13h,无法测试.代码虽然完成,还要过几天把dos环境塔好再测试.代码反正放这了. 让博客园帮我云存储下.对磁盘结构了解也不多,不知道这代码跑出来是何种结果.至少在主界面输入f3是要屏蔽的. 代码如下: ;   display system time. press f1 to change the color displayed, press esc to return main list. f3 exit;    c

ios系统能力&amp;api转载链接汇总

1.判断有无sim卡 http://www.2cto.com/kf/201306/223744.html 2.Let's Build xxx (如nsobject)系列- by Mike Ash,可以用做学习(理解很多ios内部的实现机制),很不错  https://www.mikeash.com/pyblog/friday-qa-2013-02-08-lets-build-key-value-coding.html 3.method swizz http://www.cocoachina.co

转载:无线测试

本文来源于:http://myeyeofjava.iteye.com/blog/2191124 无线测试是软件测试的一个分支,是针对于无线设备的一种质量保证的活动,例如:Android&IOS手机,Google眼镜,苹果汽车,无线路由等质量保证测试均属于无线测试范畴. 我国从2008年起,第一部智能手机进入中国,开始掀起无线技术的浪潮,突出代表的事件为,Nokia的破产,Kodak的倒台,于此异军突起的互联网产品为,Android智能手机,以Google为代表的无线技术革命,以及Iphone智能

来自知乎的转载之--测试

作者:知乎用户 链接:https://www.zhihu.com/question/24345678/answer/56087737来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 其实测试工作不一定只能通过软件工程进行理解,实际上,现实生活里我们都没有逃脱测试的魔爪,咱们就通过"陪老婆/女友逛商场"这个示例,比较一下几种测试方法之间的区别~~ 黑盒测试:老婆从商场的某一个入口进入,你在商场外面等待,这时候商城对你来说就像一个不透明的黑盒子,你并不知道商场