802.16 IP Telephony Lab會議紀錄 時間:95年11月20日19:00 地點:暨南大學科四館418教室 主講人:王鐘逸、王彥翔 紀錄:張兢真 出席者:吳坤熹老師、林穎舜、王彥翔、吳菖育、施賢孝、張文萍、張兢真、王鐘逸、陳柏州 會議主題:Libjingle (王鐘逸)、AJAX(王彥翔) 會議內容: 一 . Libjingle 1.Google Talk API – Libjingle 2.Compile 3.Example : login 4.Example : call 5.Reference 二 . AJAX(Asynchronous JavaScript and XML) 1.Introduction 2.Examples 3.Explanation 4.Coding yourself 5.Demo 6.reference 問題討論: 1. Libjingle Q1. 螢幕上正在通話的兩個使用者,分別是誰? (老師發問) Ans:兩個在不同電腦的使用者。是自己把兩個視窗剪裁,貼在一起。 (鐘逸回答) Q2. 通常messenger在跟別人通話時,一台電腦只會看到一個視窗,只需要顯示一個視窗即可。 (老師建議) Q3. 主題和主題之間要有轉折,要有前因後果,例如沒有多作說明的話,使用者會以為要裝libjingle,才能用google talk。 (老師建議) Q4. API是什麼的縮寫? (老師發問) Ans:Application Program Interface。 (穎舜、菖育、彥翔回答) Q5. API是應用程式開發的介面,它提供可用的函式,想開發一個相關的application,可以使用裡面的function call。 (老師說明) Q6. 何謂官方客戶端 ? (菖育發問) Ans:官方Client的應用程式。 (鐘逸回答) 說成GTalk.exe這個程式會讓人比較好懂,不需要整句直接翻譯,用自己的話來說。 (老師建議) Q7. XMPP是通訊協定,Jingle是一個通訊協定嗎?他是哪個組織定的?定義為何? (老師發問) Ans:再去弄清楚。 (鐘逸回答) 發展的組織是Jabber。以後看通訊協定時,要了解是誰發展的,別的組織是否有發展類似的通訊協定。 (老師建議) Q8. talk/base的斜線兩邊分別是指什麼? (老師發問) Ans:兩個都是目錄的名稱。 (鐘逸回答) Q9. cms是什麼的縮寫嗎?是百萬分一秒還是千分之一秒? (老師發問) Ans:再回去查查看。 (鐘逸回答) Q10. 為何叫監聽伺服器? (老師發問) Ans:有一個thread裡面有Loop,檢查收到的指令,如果符合他的格式就會丟到這個伺服器。伺服器本身並沒有做監聽的動作。 (鐘逸回答) Q11. 在Demo之前,要口頭先和聽眾說明,接下來要做什麼事,聽眾接下來會看到什麼。 (老師建議) Q12. 遇到對聽眾來說比較陌生的單字時,主講者可以多花時間解釋,例如:roster在Libjingle是好友名單的意思,可以另外花時間解釋他原本的意思(花名冊)等。 (老師建議) Q13. 處理使用者指令的三個thread分別做什麼樣的分工? (老師發問) Ans:1.主迴圈,XMPP client 2.接收使用者的輸入指令,Console 3.通話時用的,PhoneSessionClient (鐘逸回答) Q14. 為什麼要用SSL? (老師發問) Ans:因為要把帳號密碼送到Server做認證,需要SSL(Secure Socket Layer)作加密。 (老師說明) 2. AJAX(Asynchronous JavaScript and XML) Q1. Asynchronous JavaScript and XML的A、J、A、X可以用不同的顏色或粗體表示。 (老師建議) Q2. 以前要在自己的電腦才能工作,現在用AJAX可以在任何地方透過browser工作。ex.文書處理、試算表處理、投影片製作等。 (老師說明) Q3. 什麼是CSS(Cascading Style Sheets)? (穎舜發問) Ans:呈現網頁style的語法,譬如: 網頁字型、顏色、表格粗細..等。 (彥翔回答) 待追蹤事項: 1.鐘逸回去查cms是什麼的縮寫。 (鐘逸負責) 縮寫不清楚,但是確定函式功能。 於talk/Base/Thread.cc內: void Thread::Loop(int cmsLoop) { uint32 msEnd; //將結束時間設定成目前時間加上設定的函式時間 if (cmsLoop != -1) msEnd = GetMillisecondCount() + cmsLoop; int cmsNext = cmsLoop; //進入迴圈 while (true) { Message msg; //接收使用者的訊息 if (!Get(&msg, cmsNext)) return; Dispatch(&msg); if (cmsLoop != -1) { //檢查目前的時間是否到期 uint32 msCur = GetMillisecondCount(); if (msCur >= msEnd) return; //取得剩餘的時間 cmsNext = msEnd - msCur; } } } 2.鐘逸回去查Jingle是由哪個組織發展的,以及定義為何。 (鐘逸負責) http://www.jabber.org/ Jabber: 1. Rapid and indistinct speech 立即,並且模糊狀態的通話 2. To talk in a noisy, excited, or declamatory manner 可以通話在在吵雜,興奮,或者是朗讀是 的方法。 3. A streaming XML technology mainly used for instant messaging XML技術,主要用於立即訊息(instant messaging) Jabber最有名的是處理"Linux IM",一種開放、安全的,並且免費的IM(Instant Message)服務,像是MSN,Yahoo,或是ICQ。 XML協定允許讓任何兩個在網路上的機器互相溝通,並且任何結構化的資訊可以被即時傳送。 Jabber提供了主要幾個特點: Open Standard(XMPP在RFC的部份) Proven Decentralized(開發者可以建立屬於自己的IM控制) Secure(在XML裡SASL和TLS建立) Extensible(XML的namespaces,使用者可以建立自己的函式) Flexible Diverse(允許開發很多不同的服務) 散會: 結束時間:21:30