Openfire是一個即時通訊的服務器端實現,底層采用XMPP(jabber)協議。如果你不知道的話可以看:http://www.igniterealtime.org 這個它的網站。
這個已經研究了兩周了,目前對他的實現方式及核心技術都有了一些了解。
目前openfire已經支持視頻通訊了,這個還是很不錯的,它是基于flash流媒體來
實現的,使用的是opensource 的 red5服務器做成plugin的方式,加入到了openfire中
spark客戶端也支持這個功能了,我已經在IE下測試通過:)
在網上關注了好長時間,openfire(wildfire)終于支持視頻了,不過人家06年就做了。
使用的方法是:
環境要求:需要jre1.6的環境,原因是red5是在jdk1.6下編譯的
1)到http://www.igniterealtime.org/projects/openfire/plugins-beta.jsp 在這里下載red5.war 這個plugin,然后放到openfire目錄下的plugin下,jetty會自動解壓。
2)安裝后,將red5包中的red5-plugin.jar copy到spark的plugin目錄中
3)然后就可以用spark進行視頻了。
目前還是beta版,現在就是看窗口有點小。
是啊,而且openfire的客戶端spark是可以運行在多種平臺上的(windows,linux,mac)因為它是用java寫的。對于一般企業的內部通訊還是不錯的,像內網的文件傳輸這種功能點對點的傳輸非常快。
你指什么不對啊,是spark登陸不了嗎?是不是設置代理服務器的事?
控制臺用戶密碼默認是admin/admin
不好意思,我說的是sparkweb ,在登錄成功后沒有任何反應,很郁悶!
和LinQ比起來可能有點慢,不過也還好了,spark能在linux,windows,mac平臺運行。
在mac上我也測試了 還是不錯的,畢竟是java做的自己還能加點東西什么的。
哦 還沒有試那個功能
你們有spark的源代碼嗎?
當然有啊,它的網站上有下載的說明需要安裝svn
HTTP ERROR: 404
NOT_FOUND
RequestURI=/spark/
Powered by Jetty://
謝謝
沒用過,是一個jar放在了openfire的plugins下了么?
你得看在openfire管理端或控制臺是否部署成功了,可能部署失敗訪問不了。
報錯好像是jettyApp的問題,一直沒解決
視頻的源碼在red5插件中就有好像。
其他源碼請看:
http://www.igniterealtime.org/downloads/source.jsp
Spark:
svn co http://svn.igniterealtime.org/svn/repos/spark/trunk spark
Smack:
svn co http://svn.igniterealtime.org/svn/repos/smack/trunk smack
Asterisk-IM:
svn co http://svn.igniterealtime.org/svn/repos/asterisk-im/trunk asterisk-im
應該沒問題,因為這個視頻是通過flash插件來運行的,所以客戶端只要能夠打開瀏覽器,指定服務器的地址應該就可以了。
另外還有OPENFIRE HTTP BINDING模塊在哪下??謝謝了!!急!!
在控制臺有功能可給全部用戶發送消息,如果需要向指定的個人和某個組發送消息,需要寫一個插件來實現。我原來做個一個比較簡單。
HTTP ERROR: 500
INTERNAL_SERVER_ERROR
RequestURI=/setup/setup-finished.jsp
Caused by:
java.lang.NullPointerException
at org.jivesoftware.openfire.admin.setup.setup_002dfinished_jsp._jspService(setup_002dfinished_jsp.java:74)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:65)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:41)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Powered by Jetty://
MSN flaght@gmail.com
服務器本身有一個發送所有的一個功能,向指定的幾個人或組發消息需要自己實現,可以看openfire網站上有個插件類似。
管理平臺開始監聽:
http://szodc029:9090
https://szodc029:9091
14:43:51,090 ERROR PluginManager:542 - Error loading plugin: D:\myworkspace\vanda\openfire_src\target\openfire\plugins\red5
java.lang.NoClassDefFoundError: org/mortbay/jetty/HandlerContainer
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:420)
at org.jivesoftware.openfire.container.PluginManager.access$1(PluginManager.java:282)
at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManager.java:1073)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.HandlerContainer
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 17 more
解決了嗎
解決可以聯系我嗎 liu_jun_y#163.com