smack发送和接收信息

	/**
     *发送消息   
     *@param con 用户连接对象
     *@param user 用户JID
     *@param msg 发送内容
     */
	@Override
	public synchronized void sendMessages(XMPPConnection con,String user, String msg) {
		if (null != user && !"@".equals(user))
		{
			user = user + "@" +con.getServiceName(); 
		}
		Chat chat=con.getChatManager().createChat(user, null);
		try {
			chat.sendMessage(msg);
		} catch (XMPPException e) {
			e.printStackTrace();
		}
	}


	/**
	 * 接收消息 
	 * @param con 用户连接对象 
	 */
	@Override
	public void recieveMessage(final XMPPConnection con) {
		final Map<String, String> params = new HashMap<String, String>();;
		//final StringBuilder sb=new StringBuilder();
		con.getChatManager().addChatListener(new ChatManagerListener() {
			
			@Override
			public void chatCreated(Chat chat, boolean arg1) {
				chat.addMessageListener(new MessageListener() {
					
					@Override
					public void processMessage(Chat arg0, Message message) {
						System.out.println(message.getFrom()+"-->"+message.getTo()+"\n"+message.getBody());
					}
				});
				
			}
		});
		//return sb.toString();
	}

private static void addListener(XMPPConnection con) {
        // 包的过滤器
        PacketFilter filterMessage = new PacketTypeFilter(Message.class);
        // 创建包的监听器
        PacketListener myListener = new PacketListener() {
            public void processPacket(Packet packet) {
                // 以XML格式输出接收到的消息
                System.out.println("Body: " + ((Message) packet).getBody());
            }
        };
        // 给连接注册一个包的监听器
        con.addPacketListener(myListener, filterMessage);
    }


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值