我想要實現一個高性能的rtsp服務器來處理vod請求---它只處理信令請求,它不需要流媒體文件。我已經完成了一個基於Mina網絡框架的Java編寫的版本,性能似乎不是很高。高性能rtsp服務器
就我所知,高性能的SIP服務器(例如VoIP服務器)是用C編寫的(例如OpenSIPS,Kamailo),我應該使用C還是C++來實現我的項目以獲得顯着的性能改進?
順便說一句。我找到了OpenSER爲什麼用C編寫的原因的一些解釋: 「另一方面,它是垃圾收集器,在使用Java開發SIP應用程序時可能會導致很多麻煩,用Java編寫的大負載服務器會停止工作垃圾收集器正在清理內存,由垃圾收集器引起的延遲甚至可能超過10秒,這種延遲是不可接受的「 這是現在的事實,這意味着我也應該使用C嗎?
理論上,爲了「提高」Java應用程序的性能,應使用其他編程語言(如彙編/ C/C++)優化本地OS中的動態鏈接庫的包裝。這可以使用像JNI或JNA這樣的Java技術來完成。一些項目使用這種方法,如VLCJ(java綁定到libVLC引擎,VCC媒體播放器中使用的一組GCC +庫和插件) – 2012-02-15 08:08:08