飛秋java源碼
❶ 廣域網實現p2p文件傳輸 如何實現nat穿透 求java或C++源代碼
假設有兩台分別處於各自的私有網路中的主機:A和B;N1和N2是兩個NAT設備;S是一個使用了一個眾所周知的、從全球任何地方都能訪問得到的IP地址的公共伺服器
步驟一:A和B分別和S建立UDP連接;NAT設備N1和N2創建UDP轉換狀態並分配臨時的外部埠號
步驟二:S將這些埠號傳回A和B
步驟三:A和B通過轉換好的埠直接聯繫到對方的NAT設備;NAT設備則利用先前創建的轉換狀態將分組發往A和B
源碼已發送請查收
❷ ipmessenger不同的網段
Messenger 詳細分析
IP Messenger是一款區域網內部聊天、文件傳輸工具物纖拆,具有很多優點,
如數據通訊不需要建立伺服器、直接在兩台電腦間通信和數據傳輸,支持文件及文件目錄的傳輸,安全快捷以及小巧方便等優異特點,因此很多公司都採用它作為部門、公司內部的IM即時通信工具。
IP Messenger在程序結構方面採用了Windows SDK處理結構,通信方面採用了TCP/UDP通信方式,在文件傳輸處理方面採用文件映射技術,等等。通過分析IP Messenger的運行、工作原理,可以提高並加深對Windows處理流程的理解,提高SOCKET編程技術等,因此特對其源碼進行分析,以拋磚引玉,共同提高大家的編程技術。
1、IP Messenger源代碼的下載
在寫這篇文章時,IP Messenger的最新版本是2.06,因此大家在下載時盡量選擇最新版本下載。IP Messenger源代碼的下載地址是http://www.ipmsg.org/,在網站的右上角,點擊English page,網站轉換到英文界面,網站有英文版以及其它語言的版本,當然還有中文版的鏈接(http://www.a.net/IPMsg/),建議大家盡量下載原版的英文版源代碼,以利於學習。
2、IP Messenger源代碼的目錄及文件
IP Messenger源代碼的目錄結構及文件詳見列表1.1 IP Messenger源代碼主要的目錄及文件:
列表1.1 IP Messenger源代碼主要的目錄及文件
屬性
名稱
描述
目錄
SRC
工程文件源代碼和INSTALL目錄
文件
IPMSG.MAK
VC4及以前版本使用的工程罩棗文件,用來指定如何建立一個工程,VC6把MAK文件轉換成DSP文件來處理
IPMSG.MDP
後綴MDP(Microsoft DevStudio Project的簡稱)是老版本的項目文件,相當於DSP文件
PROT-ENG.TXT
英文版的協議描述
PROTOCOL.TXT
日文版的協議描述
README.TXT
英文版的README
README-J.TXT
日文版的README
IP Messenger的SRC目錄內容描述在列表1.2,SRC目錄及主要文件。
屬性
名稱
描述
目錄
INSTALL
安裝程序源代碼目錄
文件
BLOWFISH.CPP
加密演算法源文件
BLOWFISH.H
加密演算法頭文件
BLOWFISH.H2
加密演算法隨機數頭文件
CFG.CPP
系統配置源文件
IPMSG.CPP
IPMSG的APP源文件
IPMSG.H
IPMSG頭文件
LOGDLG.CPP
日誌DLG源文件
LOGMNG.CPP
日誌處理源文件
MAINWIN.CPP
IP Messenger主窗口源文件
MISCDLG.CPP
消息DLG,關於DLG,以及控制項子類化等源文件
MSGMNG.CPP
Socket管理源文件
PLUGIN.CPP
Dll plugin載入源文件
RECVDLG.CPP
接收消息處理源文件
SENDDLG.CPP
發送消息處理源文件
SETUPDLG.CPP
IP Messenger屬性配置源文件
SHARE.CPP
文件傳輸接收管理源文件
TAPP.CPP
應用程序類源文件
TDLG.CPP
DLG類源文件
TLIST.CPP
鏈表類源文件
TREGIST.CPP
注冊表操作類源文件
TWIN.CPP
窗口類源文件
MSGSTR.H
字元串常量頭文件
TLIB.H
類、結構等頭文件
另外在SRC目錄下,還有一個INSTALL目錄,該目錄中的文件是IP Messenger安裝程序的源代碼,其主要文件描述在列表1.3 INSTALL目錄主要文件。
列表1.3 INSTALL目錄主要文件
屬性
名稱
描述
文件
INSTALL.CPP
安裝程序源文件
INSTALL.H
安裝程序頭文件
以上是IP Messenger的主要目錄及其主要源文件的描述,通過列表我們可以清晰看出IP Messenger的功能分布。在以下的詳細分析中,我們主要圍繞著這些源文件而展開。
3、IP Messenger源代碼的工程轉換
由於IP Messenger是使用以前版本的VC編寫的,因豎拿此在打開工程文件時,需要轉換該工程文件為VC6版本的工程文件。
雙擊打開IPMSG.MDP文件,系統提示轉換IPMSG.MAK工程配置文件到VC6下的工程文件,如下圖所示。
<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:357pt; height:162.75pt'> <v:imagedata src="file:///C:\DOCUME~1\andylin\LOCALS~1\Temp\msohtml1\02\clip_image001.jpg" o:href="http://www.vckbase.com/document/journal/vckbase51/images/ipmessengerimg1.jpg" /> </v:shape><![endif]-->
單擊 「是」按鈕,確定將工程轉換成VC6的工程。系統提示將MAK工程文件轉換成DSP工程文件,如下圖所示。
<!--[if gte vml 1]><v:shape id="_x0000_i1026" type="#_x0000_t75" alt="" style='width:375pt;height:270pt'> <v:imagedata src="file:///C:\DOCUME~1\andylin\LOCALS~1\Temp\msohtml1\02\clip_image002.jpg" o:href="http://www.vckbase.com/document/journal/vckbase51/images/ipmessengerimg2.jpg" /> </v:shape><![endif]-->
單擊「確定」按鈕,系統根據MAK文件生成IPMSG.DSP文件,以及VC6下的IPMSG.DSW文件,另外系統還生成了IPMSG.NCB和IPMSG.OPT兩個文件。
4、IP Messenger的工程配置
IP Messenger的配置和目前VC6的工程配置有些不同,其安裝工程文件和工程文件在混合在一起,不像VC6工程文件,不同的工程在不同的項目下,分別進行配置。
單擊「Build」菜單,選擇「Set Active Configuration…」,彈出「Set Active Project Configuration」對話框,如下圖所示。
<!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" alt="" style='width:369pt;height:206.25pt'> <v:imagedata src="file:///C:\DOCUME~1\andylin\LOCALS~1\Temp\msohtml1\02\clip_image003.jpg" o:href="http://www.vckbase.com/document/journal/vckbase51/images/ipmessengerimg3.jpg" /> </v:shape><![endif]-->
IP Messenger的工程配置有6個,分別是Release的英文、日文以及Debug的ipmsg工程和安裝工程。通過選擇不同的配置,可以編譯出不同的工程。根據需要,我們選擇ipmsg-Win32 Debug配置作為當前活動工程,此編譯配置可以編譯出Debug版的ipmsg。
單擊「Project」菜單,選擇「Settings…」,彈出「Project Settings」對話框,選擇「C/C++」標簽欄,如下圖所示。
<!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75" alt="" style='width:369pt;height:206.25pt'> <v:imagedata src="file:///C:\DOCUME~1\andylin\LOCALS~1\Temp\msohtml1\02\clip_image003.jpg" o:href="http://www.vckbase.com/document/journal/vckbase51/images/ipmessengerimg3.jpg" /> </v:shape><![endif]-->
<!--[if gte vml 1]><v:shape id="_x0000_i1029" type="#_x0000_t75" alt="" style='width:414.75pt;height:273pt'> <v:imagedata src="file:///C:\DOCUME~1\andylin\LOCALS~1\Temp\msohtml1\02\clip_image004.jpg" o:href="http://www.vckbase.com/document/journal/vckbase51/images/ipmessengerimg4.jpg" /> </v:shape><![endif]-->
可以看到,在「Preprocessor definition:」中,工程使用了「JAPANESE」宏定義,也就是說,編譯後的Debug版的ipmsg是日文版。當然,可以根據需要,修改此宏為「ENGLISH」,就可以編譯出Debug版的英文ipmsg。
當然,在以後的分析中,我們將分析ipmsg的安裝工程,那麼就應當選擇ipmsg-Win32 InstallerDbg配置作為當前活動工程,編譯出Debug版的安裝工程。
這節的系統配置概述就到此結束,下一節將要分析IP Messenger的系統運行框架及其流程,通過分析和學習,掌握Windows的基本開發思想。
文章知識點與官方知識檔案匹配
演算法技能樹首頁概覽
31640 人正在系統學習中
打開CSDN,閱讀體驗更佳
IPMessenger
IPMessenger 用於mac電腦和pc飛秋之間的聊天,文件傳輸等功能
android IP Messenger,IP Messenger
IP Messenger是一款小巧、極速、免費、開放源代碼的多平台彈出式的區域網即時通信軟體,可以實現兩台電腦間的通信和數據傳輸,支持捕獲指定區域的圖像,支持在消息中嵌入圖像,支持RSA/Blofish消息數據加密。軟體特點1、IP Messenger 的成員檢測和消息通信使用 2425/UDP 埠,文件和圖像傳輸使用 2425/TCP 埠。如果這些埠被操作系統或殺毒軟體阻止,IP Mess...
繼續訪問
飛鴿源碼特點
飛鴿源碼特點2007年07月25日 星期三 下午 07:37原文地址:http://hi..com/g_d_h/blog/item/495ee700da604a13738b6522.html1、IP Messenger源代碼的下載在寫這篇文章時,IP Messenger的最新版本是2.06,因此大家在下載時盡量選擇最新版本下載。IP Messenger源代碼的下載地址是http:/
繼續訪問
IP Messenger程序
開源的區域網聊天工具,傳輸文件非常快,並且方便,可以研究學習一下,也可以在上面優化一下。 以下是源碼路徑: http://ipmsg.org/index.html.en
繼續訪問
IP Messenger 系統概述
IP Messenger 詳細分析 轉自: 作者:武漢市東湖中學朱海清孟學楨 一、系統概述 IP Messenger是一款區域網內部聊天、文件傳輸工具,具有很多優點,如數據通訊不需要建立伺服器、直接在兩台電腦間通信和數據傳輸,支持文件及文件目錄的傳輸,安全快捷以及小巧方便等優異特點,因此很多公司都採用它作為部門、公司內部的IM即時通信工具。 IP Me...
繼續訪問
飛鴿傳書 (IP Messenger) 2007 綠色版.rar
一個區域網通信軟體,支持區域網間發信息、傳送文件、文件夾、多文件(或文件夾),速度非常快。有了它,區域網間傳送文件不必再共享來共享去的了。而且,該軟體極度綠色哦:單個執行文件,完全與注冊表、初始配置文件沒有關系。 IPMsg 是一款區域網內即時通信軟體, 基於TCP/IP(UDP). 可運行於多種操作**台(Win/Mac/UNIX/Java), 並實現跨**台信息交流. - 不需要伺服器支持. - 支持文件/文件夾的傳送 (2.00版以上) - 通訊數據採用 RSA/Blofish 加密 (2.00版以上) - 十分小巧, 簡單易用, 而且你可以完全免費使用它 - 目前已有的版本包括: Win32, Win16, MacOS, MacOSX, X11, GTK, GNOME, Java 等, 並且公開源代碼. 請查看以下地址以獲得相關信息: http://sys.fige.com.cn/soft/ 關於〖飛鴿傳書〗綠色版的重要聲明 最**接到舉報,有人假借本站之名在各大下載網站發布了「飛鴿傳書 IP Messenger 2.71」、「QQ飛鴿傳書」等,對此,我們鄭重聲明,「飛鴿傳書 IP Messenger」目前的較新版本為2.06版、2007綠色版,所謂的2.71版本根本不存在,其提供的軟體包已被眾多殺毒安全軟體查出有病毒,請大家千萬不要下載,以免威脅到自己的電腦安全! 對於以「飛鴿傳書」為名製造此惡意軟體者,我們保留進一步追究其法律責任的權利!!
IP Messenger v4.0.3飛鴿傳書內網通信軟體.rar
軟體介紹: IP Messenger飛鴿傳書是一款用於內網通訊的小工具。這個是綠色版,直接運行ipmsg.exe即可使用。運行後請右鍵點擊ipmsg托盤圖標,並在設置對話框中設置用戶名稱。可設置排序/過濾,右鍵點擊發送/接收對話框。遠程命令,允許通過指定消息重新啟動計算機或關閉計算機。即通過遠程計算機發出的消息,來執行重啟/關閉電腦操作,如果接收到這些消息,將開始執行操作。
飛鴿傳書 (IP Messenger) V2.11 (VV 紀念版)
軟體簡介 - IPMsg 是一款區域網內即時通信軟體, 基於 TCP/IP(UDP). 可運行於多種操作平台(Win/Mac/UNIX/Java), 並實現跨平台信息交流. - 不需要伺服器支持. - 支持文件/文件夾的傳送 (2.00版以上) - 通訊數據採用 RSA/Blofish 加密 (2.00版以上) - 十分小巧, 簡單易用, 而且你可以完全免費使用它 - 目前已有的版本包括: Win32, Win16, MacOS, MacOSX, X11, GTK, GNOME, Java 等, 並且公開源代碼. 請查看以下地址以獲得相關信息: http://www.ipmsg.org/index.html.en
Ip Messenger
正在研究。
繼續訪問
Ipmsg
目錄1 功能介紹2 源碼簡介3 自述文件(readme)4 版本差異5 軟體截圖6 相關資源<br /> 飛鴿傳書主界面ipmsg全稱:IP Messenger,中文名為「飛鴿傳書」,是一款由一個名叫H.Shirouzu的日本人開發和維護的用C語言寫的區域網聊天和文件傳輸工具。後來發展為很多志願者共同開發多種版本。它是一個小巧方便的即時通信軟體,它適合用於區域網內甚至廣域網間進行實時通信和文檔共享。特別是在區域網內傳送文件/文件夾的效率很高。它具有很多優點,如數據通訊不需要建立伺服器、直接在兩台電腦間通信和
繼續訪問
IP MSG分析
IPMSG算是研究差不多了,但是有些東西在腦子里,卻又總結不出來,有些東西,本來是自己想看的,但又在其中沒有占太大比重。 1.想通過C++寫的IPMSG了解軟體架構,但自己本身對軟體架構沒有什麼了解,所以也看不出來什麼獨特的地方。2.虛函數算是在這兒用得極多了,可是自己並沒有理解清楚它與其它方法的區別,或是說優點吧。3.本來想看看什麼是IM系統,結果看到的,大部分變成了
繼續訪問
IP Messenger(IPMsg) 2.50源代碼中文版提供下載
差不多一年前翻譯製作IPMsg2.50版的中文版,也得到了大家眾多的反饋和支持,現在將程序源代碼(包括中文資源文件)一並提供下載,供有興趣的朋友研究。 提供的源代碼採用VC6.0編譯通過,新版本的編譯器沒有測試。 下載鏈接: [本地下載IPMsg-20081126] (2008.11.26更新) [源代碼下載] (vc6工程,包含了英文、日文、中文資源)(20081127更新) ...
繼續訪問
關於飛鴿傳書軟體的實現原理,配置及使用方法
一.簡介 飛鴿傳書是由日本人所發明的免費軟體,是一款區域網內即時通信軟體,基於TCP/IP(UDP),可運行於多種操作平台(Win,Mac,UNIX,Java),並實現跨平台信息交流。不需要伺服器支持,支持文件/文件夾的傳送(2.00版以上),開發於90年代。通信數據採用RSA/Blofish加密(2.00版以上),十分小巧,簡單易用,而且用戶可以完全免費使用它;2011年已有的版本包括:Win
繼續訪問
演算法day38|509,70,746
很簡單的動規入門題,但簡單題使用來掌握方法論的,還是要有動規五部曲來分析。代碼隨想錄視頻:手把手帶你入門動態規劃 | 對應力扣(leetcode)題號:509.斐波那契數_嗶哩嗶哩_bilibili 本題大家先自己想一想, 之後會發現,和斐波那契數 有點關系。主要是找規律,如何找到一階台階有1種,兩階台階有2種三階台階= 二階+1階代碼隨想錄視頻:帶你學透動態規劃-爬樓梯(對應力扣70.爬樓梯)| 動態規劃經典入門題目_嗶哩嗶哩_bilibili這道題目力扣改了題目描述了,現在的題目描述清晰很多,相當於
繼續訪問
最新發布 乘法除法運算符規范
乘法除法運算符規范
繼續訪問
配置管理
演算法
F#