freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

osip協(xié)議棧及exosiportp等使用入門(已修改)

2025-08-06 16:56 本頁面
 

【正文】 oSIP 協(xié)議棧 及 eXoSIP Ortp 等 使用入門 作者:不祥 一直沒空仔細(xì)研究下 oSIP,最近看到其版本已經(jīng)到了 版本,看到網(wǎng)上的許多幫助說明手冊都過于陳舊,且很多文檔內(nèi)容有點誤人子弟的嫌疑 ~ Linux 下 oSIP 的編譯使用應(yīng)該是很簡單的,其 Install 說明文檔里也介紹的比較清楚,本文主要就 oSIP 在 Windows 平臺下 開發(fā)環(huán)境下的使用作出描述。 雖然 oSIP 的開發(fā)人員也說明了, oSIP 只使用了標(biāo)準(zhǔn) C開發(fā)庫,但許多人在 Windows 下使用 oSIP 時,第一步就被卡住了,得不到 oSIP 的 LIB 庫和 DLL庫,也就沒有辦法將 oSIP 使用到自己的程序中去,所以第一步,我們將學(xué)習(xí)如何得到 oSIP 的靜態(tài)和動態(tài)鏈接庫,以便我們自己的程序能夠使用它們來成功編譯和執(zhí)行我們的程序。 第一階段: 先創(chuàng)建新工程,網(wǎng)上許多文檔都介紹創(chuàng)建一個 Win32 動態(tài)鏈接庫工程,我們這里也一樣,創(chuàng)建一個空白的工程保存。 同樣,將 oSIP2 版本 src 目錄下的 Osipparser2 目錄下的所有文件都拷到我們剛創(chuàng)建的工程的根目錄下,在 VC6 上操作: ProjectAdd To ProjectFiles 將所有的源程序和頭文件都加入到工程內(nèi),保存工程。 這時,我們可以嘗試編譯一下工程,你會得到許多錯誤提示信息,其內(nèi)容無非是找不到 osipparser2/ 頭文件之類。 處理:在 Linux 下,我們一般是將頭文件, lib 庫都拷到 /usr/inclue;/usr/lib 之類的目錄下, c 源程序里直接寫 i nclude 時,能直接去找到它們,在 VC 里,同樣的,最簡單的方 法就是將 oSIP2 源碼包中的 Include 目錄下的 osipparser2 目錄直接拷到我們的 Windows 下默認(rèn)包含目錄即可,這個目錄在 VC6 的 ToolOptionsDirectories 里設(shè)置, (當(dāng)然,如果你知道這一步,也可以不用拷貝文件,直接在這里把 oSIP 源碼包所在目錄加進(jìn)來就可以了 ),默認(rèn)如果裝在 C盤,目錄則為 C: \Program Files\Microsoft Visual Studio\VC98\Include。 這時,我們再次編譯我們的工程,順利編譯,生成 ,這時 ,網(wǎng)上很多文檔里可能直接就說,這一步也會生成 libs 目錄,里面里 文件,但我們這里沒有生成: ) 最簡單的方法,不用深究,直接再創(chuàng)建一個工程,同上述創(chuàng)建動態(tài)鏈接庫方法,創(chuàng)建一個 Win32 靜態(tài)鏈接庫工程,直接編譯,即可得到。 上面,我們得到了 Osip 的解析器開發(fā)庫,下面再編譯完整的 Osip 協(xié)議棧開發(fā)庫,同樣照上述方法,分別創(chuàng)建動態(tài)鏈接庫工程和靜態(tài)鏈接庫工程,只是要拷的文件換成 src 下的 osip 目錄下文件和 include 下的 osip 目錄,得到 和 。 在編譯 這一步可能會再次得到錯誤,內(nèi)容含義是找不到鏈接庫,所以,我們要把前面編譯得到的 也拷到 osip 工程目錄下,并在 VC6 中操作: ProjectSettingLink 中的 Object/Library Modules: 之類的內(nèi)容最后增加: 保存工程后再次編譯,即可成功編譯 。 至此,我們得到了完整的 oSIP 開發(fā)庫, 使用時,只需在我們的程序里包含oSIP 的頭文件,工程的鏈接參數(shù)里增加 和 即可。 下面我們驗證一下我們得到的開發(fā)庫,并大概了解一下 OSIP 的語法規(guī)范。 在 VC 里創(chuàng)建 win32 控制臺程序工程,將 libosip 源碼包的 SRC 目錄下的Test 目錄內(nèi)的 C源程序隨便拷一個到工程時,直接編譯 (工程設(shè)置里照前文方法在 link 選項里增加 , 引用我們之前成功編譯得到的靜態(tài)庫文件 )就可以運行 (帶參數(shù)運行,參數(shù)一般為一個文本文件,同樣從Test 目錄的 res 目錄里拷一個與源文件同名的純文本文件到工程目錄下即可 )。 該目錄下的若干文件基本上是測試了 Osip 的一些基本功能函數(shù),例如 URI解析之類,可以大概了解一下 oSIP 的語法規(guī)范和調(diào)用方 法,同時也能校驗一下之前編譯的 OSIP 開發(fā)庫能否正常使用,成功完成本項工作后,可以進(jìn)入下一步具體的 oSIP 的使用學(xué)習(xí)了。 由于 oSIP 是比較底層的 SIP 協(xié)議棧實現(xiàn),新手較難上手,而官方的示例大都是一些偽代碼,需要有實際的例子程序參考學(xué)習(xí),而最好的例子就是同樣官方發(fā)布的 oSIP 的擴展開發(fā)庫 exosip2,使用 exoSIP 可以很方便地快速創(chuàng)建一個完整的 SIP 程序 (只針對性地適用于 SIP 終端開發(fā)用,所以我們這里只是用它快速開發(fā)一個 SIP 終端,用來更方便地學(xué)習(xí) oSIP,要想真正掌握 SIP 的開發(fā),需要掌握 oSIP 并熟讀 RFC文檔才行, exoSIP 不是我們的最終學(xué)習(xí)目的 ),通過成功編譯運行一個自己動手開發(fā)出的程序,再由淺入深應(yīng)該是初學(xué)都最好的學(xué)習(xí)方法通過對使用 exosip 開發(fā)庫的使用創(chuàng)建自己的 SIP 程序,熟悉后再一個函數(shù)一個函數(shù)地深入學(xué)習(xí) exosip 提供的接口函數(shù),就可以深入理解 osip 了,達(dá)到間接學(xué)習(xí) oSIP 的目的,同時也能從 eXoSIP 中學(xué)習(xí)到正確使用 oSIP 的良好的編程風(fēng)格和語法格式。 而要成功編譯 ExoSIP,似乎許多人被難住了,直接在 XPsp2 上,用 VC6,雖然你使用了 eXoSIP 推薦的 ,但是會得到一個 sockaddr_storage結(jié)構(gòu)不能識別的錯誤,因為 vc6 自帶的開發(fā)庫太古董了,需要升級系統(tǒng)的Platform SDK,下載地址如下: .(VC6 的支持已經(jīng)停止,這是 VC6 能使用的最新 SDK) 成功安裝后編譯前需加 OSIP_MT 宏,以啟用線程庫,否則在程序中使用eXoSIP 庫時會出錯,而編譯時也會得到許多函數(shù)未定義的 Warning 提示,編譯得到 供我們使用,當(dāng)然,在此之前需要成功編譯了 osip2 和osipparser2,而在之后 的實際使用時,發(fā)現(xiàn) oSIP 也需要增加 OSIP_MT 宏,否則 OSIP_MT 調(diào)用 oSIP 的線程庫時會出錯,所以我們需要重新編譯 oSIP 了: ),因為 eXosip 是基于 oSIP 的 (同上方式創(chuàng)建靜態(tài)和動態(tài)鏈接庫工程,并
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1