让你的 wowza server提供 RESTful web 服务
這些情況下。假設我們的 wowza 服務器能提供一個 http api 就好了。就像 web 容器 tomcat 那樣。本文以一個簡單的 http 發送參數到 wowza。然后 wowza 返回一個 json 為例(經典的 REST 案例)。介紹怎樣讓你的 wowza 服務器提供 RESTful web 調用接口。
? ? ? ? 本文是在《代替 Ant:使用 Maven 管理 Wowza 插件開發》樣例的基礎上進一步進行研發,沒有使用 wowza 官方的 Eclipse 插件(官方對 wowza 項目的管理使用的是 ant)。
? ? ? ? 1. 新建 maven 項目
? ? ? ? 參考《代替 Ant:使用 Maven 管理 Wowza 插件開發》步驟。新建的 maven 項目 defonds-server-module 例如以下:
? ? ? ? 新建項目的 debug 調試效果:
? ? ? ? 2. 編寫 HTTProvider2Base 子類
? ? ? ? 編輯 %wowza%/conf/VHost.xml。加入一個 HTTPProvider:
<HTTPProvider><BaseClass>com.defonds.wms.module.server.ServerMonitorHttpInterface</BaseClass><RequestFilters>monitor*</RequestFilters><AuthenticationMethod>none</AuthenticationMethod> </HTTPProvider>
? ? ? ? 4. 項目又一次打包部署
? ? ? ? 命令行切換到你的 defonds-server-module 項目文件夾下,運行
mvn package
? ? ? ? 檢查 %wowza%/lib 文件夾,發現 defonds-server-module 已成功部署:
? ? ? ? 5. 訪問接口
? ? ? ? debug 啟動 defonds-server-module,然后在瀏覽器訪問 http://localhost:1935/monitor?id=9527&name=defonds
? ? ? ? 發現返回的是
Wowza Streaming Engine 4 Trial Edition
? ? ? ? Eclipse 控制臺也沒有 ServerMonitorHttpInterface 本應該輸出的 log 日志。
? ? ? ? 這是由于 com.wowza.wms.http.HTTPServerVersion 這個 HTTPProvider 把請求攔截了:
<HTTPProvider><BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass><RequestFilters>*</RequestFilters><AuthenticationMethod>none</AuthenticationMethod></HTTPProvider>
? ? ? ? 由于它的配置是 *。
能夠改為其它,或者將其凝視掉。就能夠了。
? ? ? ? 凝視掉 HTTPServerVersion 之后。又一次啟動 defonds-server-module,然后訪問 http://localhost:1935/monitor?id=9527&name=defonds:
? ? ? ? 這次是返回的我們想要的信息:
? ? ? ? Eclipse 控制臺有 log 輸出了:
DEBUG server comment - ServerMonitorHttpInterface--http--request--id=9527;name=defonds
? ? ? ? 成功了。
嗯,就這些。就是這么簡單:)本文演示樣例源代碼已上傳 CSDN,有興趣的朋友能夠去這里下載:http://download.csdn.net/detail/defonds/7493981。
? ? ? ? 參考資料
- http://stackoverflow.com/questions/10410854/call-a-wowza-server-from-android-app
- http://stackoverflow.com/questions/2010990/how-do-you-return-a-json-object-from-a-java-servlet
- http://www.mkyong.com/webservices/jax-rs/restfull-java-client-with-java-net-url/
總結
以上是生活随笔為你收集整理的让你的 wowza server提供 RESTful web 服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CCF NOI1150 确定进制
- 下一篇: 《智能路由器开发指南》——2.3 使用V