openfire伺服器搭建
『壹』 關於openfire:請問我們自己寫的插件放入openfire伺服器後,程序怎麼去調用寫的那插件裡面的功能
看你寫的插件提供什麼服務的啊,如果是web service 直接發送請求就可以了。
如果是需要有web界面,當你配置好xml文件,寫好web頁面,通過web界面操作就可以了吧。。
『貳』 android 用openfire做伺服器,smack來連接怎麼連接不上
android客戶端接收 openfire 伺服器發送來的消息:
客戶端代碼如下:
java代碼
packagecom.example.openfiretest;
importorg.jivesoftware.smack.Chat;
importorg.jivesoftware.smack.ChatManager;
importorg.jivesoftware.smack.ChatManagerListener;
importorg.jivesoftware.smack.ConnectionConfiguration;
importorg.jivesoftware.smack.MessageListener;
importorg.jivesoftware.smack.XMPPConnection;
importorg.jivesoftware.smack.packet.Message;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.view.Menu;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.view.Window;
importandroid.widget.CheckBox;
importandroid.widget.EditText;
importandroid.widget.Toast;
{
;
;
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
accountEditText=(EditText)findViewById(R.id.username);
passwordEditText=(EditText)findViewById(R.id.password);
findViewById(R.id.login).setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewv){
Stringaccount=accountEditText.getText().toString();
Stringpassword=passwordEditText.getText().toString();
if(account.equals("")||password.equals("")){
Toast.makeText(MainActivity.this,"賬號或密碼不能為空!",
Toast.LENGTH_SHORT).show();
}else{
ClientConServerccs=newClientConServer(MainActivity.this);
booleanb=ccs.login(account,password);
//如果登錄成功
if(b){
Toast.makeText(MainActivity.this,"登陸成功!",
Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this,"登陸失敗!",
Toast.LENGTH_SHORT).show();
}
}
}
});
}
}
然後在登陸以後添加一個監聽消息的監聽器,用來監聽收到的消息(代碼89、90行):
Java代碼
packagecom.example.openfiretest;
importjava.util.Collection;
importorg.jivesoftware.smack.Chat;
importorg.jivesoftware.smack.ChatManager;
importorg.jivesoftware.smack.ChatManagerListener;
importorg.jivesoftware.smack.ConnectionConfiguration;
importorg.jivesoftware.smack.MessageListener;
importorg.jivesoftware.smack.Roster;
importorg.jivesoftware.smack.RosterEntry;
importorg.jivesoftware.smack.RosterGroup;
importorg.jivesoftware.smack.XMPPConnection;
importorg.jivesoftware.smack.XMPPException;
importorg.jivesoftware.smack.packet.Message;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.os.Handler;
importandroid.util.Log;
importandroid.widget.Toast;
publicclassClientConServer{
privatestaticintPORT=5222;
privateContextcontext;
publicClientConServer(Contextcontext){
this.context=context;
}
//這里收到消息後,通過廣播將消息發送到需要的地方.哈哈,既然收到了伺服器發送來的信息,如何處理自己決定。
privateHandlerhandler=newHandler(){
publicvoidhandleMessage(android.os.Messagem){
Messagemsg=newMessage();
msg=(Message)m.obj;
//把從伺服器獲得的消息通過廣播發送
Intentintent=newIntent("org.yhn.mes");
String[]message=newString[]{
msg.getFrom(),
msg.getBody()};
System.out.println("==========收到伺服器消息From==========="+message[0].toString());
System.out.println("==========收到伺服器消息Body==========="+message[1].toString());
intent.putExtra("message",message);
context.sendBroadcast(intent);
};
};
publicbooleanlogin(Stringa,Stringp){
ConnectionConfigurationconfig=newConnectionConfiguration("192.168.0.124",PORT);
/**是否啟用安全驗證*/
config.setSASLAuthenticationEnabled(false);
/**是否啟用調試*/
//config.setDebuggerEnabled(true);
/**創建connection鏈接*/
XMPPConnectionconnection=newXMPPConnection(config);
try{
/**建立連接*/
connection.connect();
/**登錄*/
connection.login(a,p);
/**開啟讀寫線程,並加入到管理類中*/
//ClientSendThreadcst=newClientSendThread(connection);
//cst.start();
//ManageClientThread.addClientSendThread(a,cst);
//獲取用戶組、成員信息。
System.out.println("======開始獲取組及用戶==========");
Rosterroster=connection.getRoster();
Collection<RosterGroup>entriesGroup=roster.getGroups();
System.out.println("組的個數:"+entriesGroup.size());
for(RosterGroupgroup:entriesGroup){
Collection<RosterEntry>entries=group.getEntries();
System.out.println("=========groupName==="+group.getName());
for(RosterEntryentry:entries){
//Presencepresence=roster.getPresence(entry.getUser());
//Log.i("---","user:"+entry.getUser());
System.out.println("組成員名字:"+entry.getName());
//Log.i("---","tyep:"+entry.getType());
//Log.i("---","status:"+entry.getStatus());
//Log.i("---","groups:"+entry.getGroups());
}
}
System.out.println("======結束獲取組及用戶==========");
//在登陸以後應該建立一個監聽消息的監聽器,用來監聽收到的消息:
ChatManagerchatManager=connection.getChatManager();
chatManager.addChatListener(newMyChatManagerListener());
returntrue;
}catch(XMPPExceptione){
e.printStackTrace();
}
returnfalse;
}
/**messagelistener*/
{
publicvoidchatCreated(Chatchat,booleanarg1){
chat.addMessageListener(newMessageListener(){
publicvoidprocessMessage(Chatarg0,Messagemsg){
/**通過handler轉發消息*/
android.os.Messagem=handler.obtainMessage();
m.obj=msg;
m.sendToTarget();
}
});
}
}
}
啟動android客戶端,進行登錄
然後在openfire的管理控制台,會話-工具中發送消息給所有在線用戶
即可看到列印信息:在管理控制台發送的消息
『叄』 自己做一個即時通訊類的ios 軟體,伺服器用openfire可以么我安慰openfire的這個
是滴,如果你Openfire伺服器都關機了,怎麼會能使用呢,
『肆』 如何部署自己的遠程openfire伺服器
安裝前准備工作:
一:Java運行環境(已安裝 則可跳過此步驟)
二:資料庫(之前已安裝 則可跳過此步驟)
資料庫可以使用DB2,Oracle,Mysql,PostgreSQL,SQL Server等其中任意一種。
安裝前准備工作完成後:
一:建立資料庫
a.建立資料庫,記下資料庫名,如OpenfireServer。
b.在資料庫管理系統下建立新用戶,如OpenfireUser。
選擇SQL server身份驗證,把強制密碼過期的勾去掉,只勾上強制實施密碼策略。
在下面的資料庫下拉列表中選擇OpenfireServer,然後確定即可。
c.然後在OpenfireServer資料庫目錄下,在其安全性中,新建一個用戶,用戶名任取。
登錄名 選擇上面創建的OpenfireUser,架構 選擇 db_owner,資料庫角色成員身份選擇db_owner,
二:安裝Openfire
a.到官方下載最新版的Openfire安裝包
b.雙擊Openfire安裝包開始安裝
安裝完畢後,會有提示框提示 是否登錄,此時先放著不動
三:執行資料庫腳本
a.到Openfire安裝目錄下:如D:\Program Files\Openfire\resources\database
下面有幾個資料庫的SQL腳本,直接拖動到SQL Server Studio中執行,
執行前確保 可用資料庫下拉列表 選中的是OpenfireServer。
b.接著連接對象資源管理器,使用SQL Server身份驗證方式,輸入用戶名OpenfireUser,密碼
嘗試進行登錄操作。若成功登陸,則證明資料庫建立成功。
四:首次設置Openfire
a.點擊Openfire提示框中Launch Admin 按鈕,進入首次設置頁面
b.語言 選擇 簡體中文
資料庫 選擇 標准資料庫連接
選擇相應的資料庫驅動類型;URL一欄中,把[hostname]改成當前的主機名;
把[database]改成資料庫名OpenfireServer;接著分號後面的Appname全部去掉;
點擊 continue ,設置密碼——>>結束
五:重啟Openfire
然後登錄管理頁面,進行Openfire管理。
至此,恭喜您,Openfire部署安裝完成。
『伍』 如何在linux下安裝openfire及解決一些常見的安裝問題
1、首先下載OpenFire的Linux安裝包
2、將下載的安裝包復制到linux伺服器的/opt目錄下
3、啟動openfire
安裝完成後,進入/opt/openfire/bin目錄。
如果你是用rpm進行安裝的,執行./openfire.sh,
如果你使用tar進行安裝的,執行./openfire start。
4、打開瀏覽器,http://[伺服器ip地址]:9090/,進入配置頁面
(1)首先選擇語言,當然是中文
(2)其次配置域ip和控制台埠,埠默認是9090
(3)然後選擇資料庫連接
i.「嵌入的資料庫」就是使用OpenFire自帶資料庫;
ii. 「標准資料庫連接」是連接外部資料庫,我是連接外部Mysql資料庫
(4)進入「標准數據連接」配置頁面,配置Oracle連接;配置後會在外部資料庫中創建表和欄位;
(5)進入用戶和組配置界面,
i. 「初始配置」既在資料庫中保存用戶和用戶組資料
ii.「目錄伺服器(LDAP)」就是使用外部LDAP伺服器來管理
(6)進入管理員密碼配置界面,修改管理員密碼
注意:登錄的時候,用戶名是admin,不是設置的郵箱。
5、常見問題及解決方案
(1)啟動openfire時,出現下面的錯誤提示:
./openfire.sh: /opt/openfire/jre/bin/java: /lib/ld-linux.so.2: bad ELF inter
這個錯誤是系統版本造成的,系統是64位的,而安裝包是32位的。
『陸』 伺服器上安裝完成openfire後還要安裝mysql資料庫嗎
伺服器上安裝完成openfire後還要安裝mysql資料庫嗎
openfire設置的配置文件路徑為:../openfire/conf/openfire.xml。打開xml文件發現安裝設置完成後setup的值為true,<setup>true</setup>。首先關閉openfire伺服器,然後刪除<setup>屬性,然後重新啟動Openfire並重新裝入設置工具。
『柒』 如何在Linux上安裝OpenFire
1、首先下載OpenFire的Linux安裝包2、將下載的安裝包復制到linux伺服器的/opt目錄下
3、啟動openfire
安裝完成後,進入/opt/openfire/bin目錄。
如果你是用rpm進行安裝的,執行./openfire.sh,
如果你使用tar進行安裝的,執行./openfire start。
4、打開瀏覽器,http://[伺服器ip地址]:9090/,進入配置頁面
(1)首先選擇語言,當然是中文
(2)其次配置域ip和控制台埠,埠默認是9090
(3)然後選擇資料庫連接
i.「嵌入的資料庫」就是使用OpenFire自帶資料庫;
ii. 「標准資料庫連接」是連接外部資料庫,我是連接外部Mysql資料庫
(4)進入「標准數據連接」配置頁面,配置Oracle連接;配置後會在外部資料庫中創建表和欄位;
(5)進入用戶和組配置界面,
i. 「初始配置」既在資料庫中保存用戶和用戶組資料
ii.「目錄伺服器(LDAP)」就是使用外部LDAP伺服器來管理
(6)進入管理員密碼配置界面,修改管理員密碼
注意:登錄的時候,用戶名是admin,不是設置的郵箱。
5、常見問題及解決方案
(1)啟動openfire時,出現下面的錯誤提示:
./openfire.sh: /opt/openfire/jre/bin/java: /lib/ld-linux.so.2: bad ELF inter
這個錯誤是系統版本造成的,系統是64位的,而安裝包是32位的。
『捌』 虛擬機openfire伺服器怎麼進web頁面
解除游戲限制一鍵安裝極速版封喉虛擬機下載地址:
『玖』 配置openfire時openfire資料庫要提前創建么
openfire設置的配置文件路徑為:../openfire/conf/openfire.xml。
打開xml文件發現安裝設置完成後setup的值為true,<setup>true</setup>。
首先關閉openfire伺服器,然後刪除<setup>屬性,
然後重新啟動Openfire並重新裝入設置工具。