泰信公開了比較完善的網(wǎng)絡(luò)接口,實現(xiàn)TCP/IP、UDP、PPPOE等網(wǎng)絡(luò)協(xié)議。并屏蔽了比較復(fù)雜的協(xié)議棧部分。僅過一段時間的開發(fā)測試,就可以在這個API上實現(xiàn)P2P網(wǎng)絡(luò)協(xié)議、電子郵件客戶端功能。在這些協(xié)議棧上,可以很容易地完成各種網(wǎng)絡(luò)功能。
增加P2P網(wǎng)絡(luò)功能
典型的P2P網(wǎng)絡(luò)軟件有BT下載、MSN、QQ、SKYPE等等。微軟的MSN聊天工具協(xié)議是公開的,可從網(wǎng)上下載。利用泰信的底層網(wǎng)絡(luò)協(xié)議,可以將其很方便的嵌入到機(jī)頂盒里,編譯生成的文件名為P2P.bin,有API說明。
現(xiàn)在數(shù)字電視機(jī)頂盒也已經(jīng)步入網(wǎng)絡(luò)時代, 雙向機(jī)頂盒得到普遍應(yīng)用。一些計算機(jī)互聯(lián)網(wǎng)上的應(yīng)用也得以在機(jī)頂盒上實現(xiàn)。本文就介紹一種即時通信協(xié)議在機(jī)頂盒上的實現(xiàn)。
當(dāng)前互聯(lián)網(wǎng)上即時通信協(xié)議繁多, 有QQ、MSN、Yahoo Messager、AOL、ICO、Google Talk等。這些協(xié)議大都遵循XMPP(Jabber協(xié)議的標(biāo)準(zhǔn)化)或簡單地對其進(jìn)行改造。XMPP是一個開放的文本協(xié)議, 以XML流為基礎(chǔ),協(xié)議簡明, 擴(kuò)展性強(qiáng),是一種發(fā)展迅速的P2P協(xié)議。也有人用它作軟交換服務(wù)器。以下介紹XMPP在機(jī)頂盒上的實現(xiàn)。
XMPP簡介
XMPP協(xié)議的前身是Jabber協(xié)議, XMPP的全稱是可擴(kuò)展的消息和出席信息協(xié)議(Extensible Messaging and Presence Protocol)。XMPP不僅具有一般即時通信協(xié)議所具有的功能, 它還允許同一帳號在不同地點/設(shè)備同時登陸, 當(dāng)然最具特色的還是它的開放性。協(xié)議的開放使得人們?nèi)菀自诟鞣N設(shè)備上實現(xiàn)。XMPP協(xié)議的帳戶由于歷史原因被稱為JID, 是這樣的形式: example@domain/resouce。前面說同一帳戶可以在多處登陸, 服務(wù)器如何區(qū)分多處登陸的同一帳戶呢?其實在不同地方登陸的帳戶的JID的resouce部分是不一樣的, resouce部分可以在登陸過程中和服務(wù)器協(xié)商確定。
XMPP的登陸過程
其實一個郵箱帳戶就可以是一個MSN帳戶, 下面以登陸MSN的服務(wù)器為例介紹的登陸過程。
1) 根據(jù)帳戶的域名部分gmail.com, 使用域名服務(wù)查詢, 獲取XMPP服務(wù)器的地址
2) 連接XMPP服務(wù)器, 發(fā)送初始化請求, 服務(wù)器應(yīng)答
3) 獲取服務(wù)器支持的安全機(jī)制, 和服務(wù)器建立安全傳輸層
4) 獲取并選擇一種服務(wù)器支持的認(rèn)證機(jī)制, 向服務(wù)器認(rèn)證客戶端帳號
5) 和服務(wù)器進(jìn)行協(xié)商JID的resouce部分
6) 建立和服務(wù)器的會話
成功登陸后, 我們在機(jī)頂盒上實現(xiàn)的客戶端可以相互通信, 也可以和PC機(jī)上的各種客戶端通信(MSN、Google Talk、Pidgin、 LinQ等)。
通過XMPP協(xié)議, 各個不同地方, 不同型號的機(jī)頂盒只要接入互聯(lián)網(wǎng), 就能夠相互連接、相互通信。由于和服務(wù)器連接中安全層的存在, 各個機(jī)頂盒之間的通信內(nèi)容是安全的, 即: 信息是完整的、不能被竊聽的、不能被篡改的、和兩臺PC機(jī)通訊是一樣的。XMPP協(xié)議對機(jī)頂盒資源要求不是很高, 但也需要具有一定處理速度,經(jīng)常使用的ST5105不能滿足這種要求,會經(jīng)常死機(jī),然而在三洋機(jī)頂盒上相互通信卻很流暢。
在具有雙向網(wǎng)絡(luò)的機(jī)頂盒上實現(xiàn)這種P2P協(xié)議后,就可以在此基礎(chǔ)上開發(fā)很多有趣的功能。例如,如果使用硬盤,在網(wǎng)絡(luò)速度足夠快的情況下
為機(jī)頂盒增加P2P和郵件功能
共享影像資料;開發(fā)遠(yuǎn)端子母機(jī)等。
因為泰信提供了豐富的網(wǎng)絡(luò)接口,郵件系統(tǒng)的實現(xiàn)相對比較簡單。郵件系統(tǒng)分為服務(wù)器和客戶端兩部分,服務(wù)器可以使用在Internet網(wǎng)上的各種郵件服務(wù)器,例如,新浪、搜狐等門戶網(wǎng)站的郵件服務(wù)器?蛻舳藙t需要在機(jī)頂盒端實現(xiàn),其基本要求是實現(xiàn)用于發(fā)送郵件的smtp協(xié)議和用于接收郵件的pop3協(xié)議,應(yīng)當(dāng)實現(xiàn)對中英文本正文和多附件的支持。
網(wǎng)絡(luò)郵件系統(tǒng)作為雙向業(yè)務(wù)的基礎(chǔ)部件可以作為用戶上傳數(shù)據(jù)的重要渠道,可用于以文本正文形式發(fā)送用戶服務(wù)請求,以附件方式上傳下載多媒體數(shù)據(jù)分享資源,甚至使用附件升級程序等應(yīng)用中。
smtp協(xié)議和用于接收郵件的pop3協(xié)議都是公開的,可以在網(wǎng)上獲得。編譯成的文件名為mail.bin,同樣有API使用說明。
三洋LC74189機(jī)頂盒平臺具有很高的速度。我得到的這臺配置為2GB的NAND FLASH,一個SD讀卡器,利用這個郵件功能,可以將機(jī)頂盒當(dāng)作一個網(wǎng)絡(luò)數(shù)碼像框,只需將數(shù)碼相機(jī)的SD卡插到機(jī)頂盒上就可以瀏覽照片,或?qū)⑵浒l(fā)到彩印中心,或者PC機(jī)上瀏覽。當(dāng)然,也可以使用機(jī)頂盒接收照片郵件,觀看親友從外地發(fā)來的照片,非常實用。