飛鴿傳書使用報告

2021-06-22 08:45:09 字數 1476 閱讀 5656

基本介紹:

飛鴿傳書(ipmessenger),是由日本人shirouzuhiroaki(白水啟章)所發明的免費軟體,

設計介面:

軟體原理:

在freeeim(飛鴿傳書)中,如果要進行檔案或者資料夾的傳輸,首先需要做的就是訊息的應答,通過udp傳送檔案傳輸報文,另外的freeeim(飛鴿傳書)客戶端收到報文後,使用tcp協議傳送應答報文,這樣就開始進行檔案的傳輸了。

這裡開啟兩個執行緒,執行緒1負責檔案的傳送,執行緒2負責檔案的接受,下邊做一一說明。

首先,我們知道,可以傳送多個檔案,這些檔案需要建立鍊錶儲存資訊。

typedefstructfile_info

structfile_info*next;//雙向鍊錶

structfile_info*forward;

char*file;//檔名

inttype;//檔案型別:檔案或者資料夾

intsize;//檔案大小

structsockaddr_inaddr,//目標網路資訊

}file_info;

檔案傳送鍊錶由專門的執行緒維護,這樣,執行緒1就可以專心進行處理檔案傳輸佇列就可以了,執行緒1始終查詢這個鍊錶,如果表頭為null,就說明沒有要傳輸的檔案,表頭非空,就開始傳送報文,獲得正確的應答後,就可以開始檔案的傳輸了,檔案傳輸結束,將相應的鍊錶節點刪除。這裡借鑑了很多程式中使用非常廣泛的「命名池」相關的概念,只不過這裡我們使用的是「檔案池」,可以這麼認為,如果有檔案要傳輸,可以不用考慮是否有檔案正在傳輸,只要把要傳輸的檔案放入「檔案池」就可以了,同時,不用考慮「檔案池」的大小,執行緒1是檔案池的服務執行緒,它檢測檔案池的大小,如果非空,就會逐次傳輸檔案。

這裡需要特別注意的就是關於資料夾的傳輸,這個freeeim(飛鴿傳書)乙個難點,因為對於資料夾的內容是沒有顯示的,需要我們逐次的判斷,在飛鴿傳書中是這麼處理的,如果是乙個資料夾,就傳送檔案屬性為ipmsg_file_dir的資訊包,freeeim(飛鴿傳書)客戶端收到這個資訊包後,就建立這個資料夾,然後發起傳送的freeeim(飛鴿傳書)客戶端,進入資料夾,傳送資料夾內的檔案,如果該資料夾下,還有資料夾,使用相同的方法,在資料夾內的檔案傳送結束後,就傳送freeeim_file_retparent資訊包,接受的freeei_file_retp報文的freeeim(飛鴿傳書)客戶端,執行返回上一級目錄,freeeim(飛鴿傳書)傳送端,就需傳送目錄下的檔案。這樣迴圈操作,最終完成檔案的傳輸,這個過程比較難以理解。

有了上邊的知識,開發檔案傳輸功能就變得簡單多了,檔案的接受也可以類推了,同樣開啟乙個執行緒維護接受檔案鍊錶,逐次接受身下的檔案,鍊錶為空時。檔案傳輸會遇到檔案讀寫問題,有的檔案傳送是被開啟了,這樣會造成訪問違規,所以要有相應的處理,才能讓程式更加穩健。

使用心得:

飛鴿傳書2009

摘要 區域網聊天用什麼軟體最方便呢?上個學期新來的舍友告訴的飛鴿傳書2009這個軟體,確實很實用,在區域網中,特別是像宿舍 或者辦公室,不用再找網路上的芳鄰或者qq,後兩都麻煩,網路上的芳鄰經常因為各種原因用不了,qq不能傳資料夾,還是這個比較方便。並且速度快,那次跟朋友傳好像是到了7m多的吧,強烈...

飛鴿傳書2007

飛鴿傳書2007年,企業在計算機 軟體和服務等方面的支出將出現6年來的首次下降,而ipmsg freeeim和xeim很可能成為受影響最大的it公司。據報道,知名投行公司日前在報告中預計,09年全球企業it支出將同比下降4 其中發達國家市場將同比下降8 同時集團分析師布則表示,對軟體開發商來說,明年...

飛鴿傳書2007

自從飛鴿傳書2007自發布以來,產品以其獨特的設計 新穎的風格 完善的服務而受到了使用者的好評,隨著 使用者量的不斷增加,使用者在使用中給程式提了很多中肯的意見或建議,也使得飛鴿傳書2007的功能越來越強 大!產品使用者量也在不斷攀公升,我們給予使用者提供的是更便利的網上開店程式,使用者給予我們的是...