[英]smack xmpp library Java
我使用庫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插入另一個用戶的名稱一樣,消息不會到達。
怎么會這樣?
Message message=new Message();
message.setTo(<JabberId>);
message.setType(Message.Type.chat);
message.setBody("Hello World!");
con.sendPacket(message);
這是您發送消息的方式
PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
con.addPacketListener(new PacketListener() {
public void processPacket(Packet packet) {
Message message = (Message) packet;
String body = message.getBody();
String from = message.getFrom();
}
}, filter);
片段上方是您如何接收消息的方式。
有關更多參考,請參見: http : //developer.samsung.com/technical-doc/view.do?v=T000000119
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.