openfire 메시지 발송
11774 단어 openfire
코드는 두 개의 가방이 필요합니다,smack.jar ,smackx.jar.
첫 번째 코드는 단지 점대점으로 메시지를 보내는 것일 뿐 방송과 관련이 없다.
package com.test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
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 ChatTest {
public static void main(String[] args) throws XMPPException {
// TODO Auto-generated method stub
XMPPConnection.DEBUG_ENABLED=true;
XMPPConnection connection=new XMPPConnection("127.0.0.1");
connection.connect();
connection.login("zhang", "12345");
Chat chat=connection.getChatManager().createChat("[email protected]", new MessageListener() {
@Override
public void processMessage(Chat chat, Message message) {
// TODO Auto-generated method stub
System.out.println(message.getFrom()+" "+new java.util.Date().toString()+" say:"+message.getBody());
}
});
BufferedReader cmdl=new BufferedReader(new InputStreamReader(System.in));
for (; ; ) {
try {
String cmd=cmdl.readLine();
if ("!q".equalsIgnoreCase(cmd)) {
break;
}
chat.sendMessage(cmd);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
connection.disconnect();
System.exit(0);
}
}
login 방법의 매개 변수는 현재 로그인할 계정이고createchat 방법의 매개 변수는 채팅하는 상대방의 계정입니다.실행할 때,liu는spark 클라이언트에 로그인하고, 본 컴퓨터의 console에서liu와 교류할 수 있습니다.
두 번째는 방송과 관련된 것이지만 사실은 하나의 방법이다.방송 기능을 사용하려면 오픈파이어 서버에 방송 플러그인을 설치해야 합니다. 그렇지 않으면 방송을 보낼 수 없습니다.
package com.test;
import java.util.Collection;
import java.util.Scanner;
import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.ChatManager;
import org.jivesoftware.smack.MessageListener;
import org.jivesoftware.smack.RosterEntry;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
public class IMTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
XMPPConnection.DEBUG_ENABLED=true;
XMPPConnection connection=null;
try {
IMTest test=new IMTest();
connection=test.getConnection();
test.doLogin(connection);
test.getRoster(connection);
//test.sendMessage(connection);
test.sendPacket(connection);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
connection.disconnect();
}
}
private XMPPConnection getConnection() throws XMPPException{
XMPPConnection con=new XMPPConnection("127.0.0.1");
con.connect();
return con;
}
private void doLogin(XMPPConnection connection) throws XMPPException{
connection.login("admin", "12345");
System.out.println(connection.getUser()+" has logined");
}
private Collection<RosterEntry> getRoster(XMPPConnection connection){
Collection<RosterEntry> roster=connection.getRoster().getEntries();
for(RosterEntry entry:roster){
System.out.println("name :"+entry.getName()+",jid:"+entry.getUser());
}
return roster;
}
private void sendMessage(XMPPConnection connection) throws XMPPException{
ChatManager chatManager=connection.getChatManager();
Chat chat=chatManager.createChat("[email protected]", new MessageListener() {
//
@Override
public void processMessage(Chat chat, Message message) {
// TODO Auto-generated method stub
System.out.println(message.getFrom()+" say: "+message.getBody());
}
});
//
Scanner inputScanner=new Scanner(System.in);
while(true){
String messageString=inputScanner.nextLine();
System.out.println(connection.getUser()+" say:"+messageString);
chat.sendMessage(messageString);
}
}
private void sendPacket(XMPPConnection connection){
Message message=new Message();
message.setTo("[email protected]");
message.setSubject(" ");
message.setBody(" ");
message.setType(Message.Type.normal);//
connection.sendPacket(message);
connection.disconnect();
}
}
라디오를 보낼 때 setTo에 @ 뒤에broadcast 표식이 있습니다. 이것은 없어서는 안 됩니다.
그러나 현재 방송 소식은 때때로 메시지가 중복 발송되는 경우가 있다.현재는 지난 글에서 말한 androidpn을 이용하여 메시지 전송을 하려고 하는데, 여기서는 더 이상 자세히 연구하지 않았다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
OPENFIRE 지원 EMOJI(OPENFIRE 3.8.1 버전)오픈파이어로 XMPP 서버를 구축할 때 클라이언트가 이모티콘 문자를 보내면 연결이 끊깁니다. 오류 로그 부분은 다음과 같습니다. 2013.05.21 12:57:44 org.jivesoftware.openfire.ni...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.