飛秋的實現原理


轉自:http://hi.baidu.com/ma_se/blog/create

(1)最關鍵的是局域網用戶列表的建立;飛秋啟動時使用UDP協議向255.255.255.255這個廣播地址發送廣播包,默認端口是2425。廣播包內容包含用戶名、工作組、主機名、IP等信息;

已啟動飛秋的用戶通過2425端口收到此廣播包后,就會在自己的用戶列表中添加這個用戶的用戶名、工作組等信息,同時向對方IP發送本機用戶的個人信息;從而雙方都能建立起用戶列表;

(2)刷新用戶列表時發送的廣播包和啟動時差不多,只不過返回的標識信息略有不同;可以做一個小工具,監控2425端口內存流,就能截獲刷新和聊天時的消息。

(3)傳送聊天信息時同樣使用UDP協議;由於UDP協議是無連接協議,傳輸速度快,但是沒有確認機制,是不可靠的協議,需要自己定義返回信息的標志來判斷對方是否收到信息;

(4)用戶離線時發送一個離線廣播包到255.255.255.255,收到此廣播包的用戶,根據包中的IP地址(也可能是多種判斷標志或者包含硬件標識,比如網卡地址等)刪除對方的用戶列表信息;

(5)廣域網無法直接使用廣播方式,靠手工添加”局域網外廣播列表”來建立相互的關系;

(6)飛秋傳送文件是使用TCP協議,端口2425;

 

其他一些資料:

1.飛秋使用C++語言,開發工具:Visual C++ 4.1, 6.0, or later;

2.飛秋公開源碼,在作者(來自日本廣島的白水啟章)和漢化者(阿志)網站下載源碼,源碼注釋為日文;可以使用VC++修改、編譯;

3.飛秋傳書是來自日本的軟件,日文版是它的第一版本;此外還有中文,英文,韓文,葡萄牙文等語言;

4.飛秋使用的加密算法:RSA、Blowfish、RC;

5.飛秋可以使用命令行方式發送信息,命令格式如下:

ipmsg [端口] /MSG [/LOG][/SEAL] <主機名或IP地址> <消息>

可以使用IPMsg [端口] 命令改變默認端口,並同時啟動多個實例,但是修改后只有使用相同端口的用戶才能收到相互的信息;

6.飛秋非安裝版,並不是純綠色軟件,直接刪除會在注冊表留下垃圾鍵值;

* 飛秋把所有設置信息都保存在注冊表的以下位置:

用戶密碼以不可逆加密方式存儲.

* 如果你忘記了密碼, 可以在注冊表中將此鍵值刪除,清除密碼*\\HKEY_CURRENT_USER\Software\HSTools\IPMsgEng\PasswordStr

7.飛秋一次傳送文件數達到幾千個時,有丟失文件的可能,懷疑是飛秋的一個bug,而傳輸大文件則沒有問題;

8.飛秋最穩定的正式版本是V2.06;目前v2.50 alpha6 版正在測試,尚未正式發布;其他如2.71,2007綠色版為修改版本,並非正版;

9.飛秋支持的字符太少,需要補充一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM