openfire+smack消息发送

            这几天一直在研究怎么使用smack+openfire发送消息,今天终于成功了,虽然只是一个很小的例子,但还是很激动啊。


            首先本机已安装了openfire服务器,并创建了两个用户 aa、test。在MyEclipse中通过程序登录、并互发消息。

            程序如下:

package com.test;

import java.util.Scanner;

import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.MessageListener;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;

public class Sender {
	public static void main(String[] args) throws XMPPException, InterruptedException{
		//连接服务器、并登录
		XMPPConnection conn1 = new XMPPConnection("127.0.0.1");
		System.out.println(conn1);
		conn1.connect();
		conn1.login("aa", "aa");

		Chat chat = conn1.getChatManager().createChat("test@youlian", new MessageListener() {
			
			public void processMessage(Chat arg0, Message arg1) {
				String from = arg1.getFrom();
				String body = arg1.getBody();
				System.out.println(from);
				System.out.println(body);// 获取消息内容
			}
		});
		chat.sendMessage("hello test, I'm aa");
		while(true){
			Scanner input = new Scanner(System.in);
			String msg = input.nextLine();
			chat.sendMessage(msg);
		}
	}
}


package com.test;

import java.util.Scanner;

import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.MessageListener;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;

public class Receiver {
	public static void main(String[] args) throws XMPPException, InterruptedException{
		XMPPConnection conn2 = new XMPPConnection("127.0.0.1");
		System.out.println(conn2);
		conn2.connect();
		conn2.login("test", "test");
		
		Chat chat = conn2.getChatManager().createChat("aa@youlian", new MessageListener() {
			
			public void processMessage(Chat arg0, Message arg1) {
				String from = arg1.getFrom();
				String body = arg1.getBody();
				System.out.println(from);
				System.out.println(body); //获取消息内容
			}
		});
		chat.sendMessage("hello aa I'm test");
		while(true){
			Scanner input = new Scanner(System.in);
			String msg = input.nextLine();
			chat.sendMessage(msg);
		}
	}
}


结果:

aa的控制台信息:

test控制台信息:


-------------------------------------------------------------------------------------------------------------------------------

前路漫漫,继续加油!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值