【发布时间】:2015-01-20 15:59:37
【问题描述】:
我使用库 smack 创建了一个 java 项目。我也在我的电脑上创建了一个服务器 xmpp openfire。 我的服务器地址是:192.168.1.4 端口是:5222
我的问题是发送/接收消息。那就是当我尝试向另一个用户发送消息时,该用户没有收到它。现在放置我的java程序:
ConnectionConfiguration config;
XMPPConnection con;
config = new ConnectionConfiguration("192.168.1.4", 5222);
con = new XMPPTCPConnection(config);
con.connect();
/*This code is inside the button event log-in*/
con.login(txtUsername.getText(), txtPassword.getText());
/*this code is internal event of sending message to another user*/
ChatManager chatmanager = ChatManager.getInstanceFor(con);
final Chat newChat = chatmanager.createChat(txtDestUsers.getText(), new MessageListener() {
@Override
public void processMessage(Chat chat, Message message) {
txtRicevuti.setText(message.getBody());
}
});
try {
newChat.sendMessage(txtMessage.getText());
}
catch (XMPPException | NotConnectedException e) {
System.out.println("Error Delivering block");
}
txtDestUsers = contains the name of the recipient type B@192.168.1.4
txtMessage = message to be sent
txtUsername = myUsername (A@192.168.1.4)
txtPassword = myPassword
txtRicevuti = received messages
作为测试,我运行了两次程序,并使用两个帐户登录:A@192.168.1.4 和 B@192.168.1.4
如果我尝试向自己发送消息,消息就会到达。 好像 txtDestUsers 插入了另一个用户的名字,消息没有到达。
怎么样?
【问题讨论】:
标签: java xmpp chat openfire smack