C 開發P2P及時訊息傳送程式 1

2021-04-14 01:57:20 字數 1139 閱讀 1409

c++ 開發p2p及時訊息傳送程式(1)

徐龍 2007-12-11

辭職有兩個月了,還沒有找到合適的工作.

最近一段時間面試了幾家公司,都覺得不是很合適,既沒有學習價值,也沒有認可的薪資,更別說能幫我打造就業機能力了。

閒著也是閒著,幾年前就想做乙個類似qq的及時通訊工具了,就是沒時間,現在不就是天時地利加人和了嗎?

不可浪費上天給予的機會,開工吧。

首先選開發語言,c++ 吧,為什麼?因為以前學習它都停留在書本上,太少實踐了。

今天就先定製一下傳輸協議吧:

// 資料報型別

typedef enum packet_type   //:char

packet_type;

typedef struct empty_pkt

packet_type  epackettype;          //包型別

dword   dwpacketsize;         //包大小

dword   dwseqnumber;    //包序號

dword   dwacknumber;    //包確認序號

}packet_header;

typedef struct p2s_syn_conn_req_pkt:packet_header

}p2s_syn_conn_req_pkt;

#endif

此過程中碰到一問題,c++ 列舉定義出來的元素大小預設是四個位元組的,我想讓他只暫乙個位元組,經過幾翻

試驗可以如下定義:

typedef   enum  etest:char

可是當我用他作為型別定義了乙個 struct 後,經測試它在分配空間時還是以四個位元組分配的,又經過幾翻

試驗查詢,原來 vc2005 它對結構體有乙個特殊設定,就是位元組對齊問題。32位系統下(我用的是w2k),它默

認是按四位元組對齊的,也就是說當你的結構體大小不到四的倍數的話,編譯器會自動給你補齊。既然如此那就

用它預設設定好了(可以設定成按1位元組對齊),簡單就是好嗎,,乾脆把上面的列舉也改回預設算了。。。

(未完。。。。。待續)

P2P 開發環境搭建

1.搭建tracker go get 安裝缺少的依賴包。執行後,啟動 announce介面 udp 2.編譯boost git clone 1.compile openssl 可能需要先安裝 copy nasm ndisasm c program files x86 microsoft visual...

原創 程式猿眼中的P2P

目前p2p網貸系統頻繁爆出安全問題,個人覺得實在是太正常不過了,系統做了10多年了,還依然爆出光大的問題,不過在技術設計上有些原則性的問題如果稍微注意一下,還是可以避免很多漏洞的產生的。小猿做10來年技術開發,架構過通訊系統,辦公系統,人力管理系統,目前正好在做p2p這塊的系統,從業務流程到技術架構...

C 開發乙個簡單的P2P應用

出處 p2p中國 ppcn.net c 語言由於其對網路功能良好的支援,特別是內建地支援tcplistener和tcpclient這二個類,使得利用它開發p2p應用程式變得非常容易。下面就是乙個使用c 開發的p2p應用的例子 public mytcplistener int port base po...