飛鴿傳書2007綠色版

飛鴿傳書2007綠色版

飛鴿傳書2007綠色版是一款區域網路內即時通信軟體,基於TCP/IP(UDP)。支持區域網路間發信息、傳送檔案、資料夾、多檔案(或資料夾),速度非常快,可以與飛秋,懶Q進行互通。

可運行於多種操作平台(Win/Mac/UNIX/Java)。並實現跨平台信息交流。不需要伺服器支持,支持檔案/資料夾的傳送(2.00版以上)。

通訊數據採用RSA/Blofish加密(2.00版以上)。十分小巧,簡單易用,而且用戶可以完全免費使用它。目前已有的版本包括:Win32,Win16,MacOS,MacOSX,X11,GTK,GNOME, Java等,並且公開原始碼。

基本介紹

  • 中文名:飛鴿傳書2007綠色版
  • 軟體分類: 網路軟體(聊天通訊)
  • 支持語言: 簡體中文
  • 軟體大小:78KB
軟體信息,操作技巧,軟體特色,軟體原理,

軟體信息

作業系統: Windows 95/98/Me/NT/2000/XP

操作技巧

1. 隱藏/顯示 視窗 Ctrl + D
2. 按住 Ctrl 鍵再點 [刷新] 可保持現有用戶, 搜尋新上線的用戶
3. 打開發送/接收訊息視窗 Ctrl + Alt + S / R (需要進行詳細設定)
4. 打開搜尋視窗 Ctrl + F
5. 接收到多個檔案, 保存時可勾選 [全部]

軟體特色

- 不需要伺服器支持.
- 支持檔案/資料夾的傳送 (2.00版以上)
- 通訊數據採用 RSA/Blofish 加密 (2.00版以上)
- 十分小巧, 簡單易用, 而且你可以完全免費使用它
- 目前已有的版本包括: Win32, Win16, MacOS, MacOSX, X11, GTK, GNOME,Java 等, 並且公開原始碼.

軟體原理

區域網路聊天軟體飛鴿傳書是目前比較流行的區域網路即時通訊軟體,由於歷史悠久,它具有比較多的用戶。因為FreeEIM的實現原理和飛鴿傳書差不多,希望廣大用戶了解其原理後,在使用時更加得心應手。
開發多年的飛鴿,在他的基礎上增加了些許功能,例如語音對話,這裡繼續討論FreeEIM(飛鴿傳書),前幾天,詳細的了解了FreeEIM(飛鴿傳書)的網路協定,詳細分析並且實現了FreeEIM(飛鴿傳書)的訊息傳遞過程,這裡就FreeEIM(飛鴿傳書)中的檔案和資料夾的傳輸做詳細的說明。
在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(飛鴿傳書)傳送端,就需傳送目錄下的檔案。這樣循環操作,最終完成檔案的傳輸,這個過程比較難以理解。
有了上邊的知識,開發檔案傳輸功能就變得簡單多了,檔案的接受也可以類推了,同樣開啟一個執行緒維護接受檔案鍊表,逐次接受身下的檔案,鍊表為空時。檔案傳輸會遇到檔案讀寫問題,有的檔案傳送是被打開了,這樣會造成訪問違規,所以要有相應的處理,才能讓程式更加穩健。
程式啟動時先讀取用戶配置檔案,一般是"*.ini"格式,然後,使用Winsock的廣播訊息給整個區域網路傳送一個數據包,這時候,如果其他電腦已經運行了飛鴿傳書,那么他收到這個包後,會將包的信息讀取出來,當然,這個包里有用戶的IP,用戶名,性別等等。這樣,在用戶列表里就多了一個用戶了。他的用戶檢查方式就如此簡單而已。至於跨網段的實現,只需簡單地修改一下廣播地址就行了,如果不考慮速度,用戶可以給整個internet發廣播訊息。訊息傳送,檔案傳輸這些功能,都比較簡單,如果用戶會網路編程,給用戶對方IP位址,這些功能實現起來再簡單不過了。語音、視屏等,只需編寫一些語音視頻採集代碼,傳書的話,就像傳檔案一樣;這裡給段廣播訊息的實現代碼吧。

相關詞條

熱門詞條

聯絡我們