記錄一些網路程式設計要點

2021-07-25 20:49:46 字數 557 閱讀 7978

1,tcp/ip協議族分層結構:應用層(http,ftp...),傳輸層(tcp,udp),網路層(ip),資料鏈路層。

2,socket是對tcp/ip協議中 傳輸層和網路層的抽象(封裝),可以**用層直接使用。有乙個形象的比喻,http比喻為一輛轎車,socket比喻為一台發動機。

3,ip協議本身決定了其不可靠傳輸;tcp的三次握手建立連線和四次分手斷開連線保證了其相對可靠。

4,udp在大家的印象中是作為tcp的補充而存在,是無連線、不可靠、無序、無流量控制的傳輸層協議。但是相對於tcp來說傳輸的速率較快,消耗較低;通過使用者自己可以保證其一定的可靠性,所以現在"可靠udp"也有比較多的封裝和應用。

5,網路io技術可以分為同步io,無阻塞式同步io,非同步io(aio)。

6,linux下tcp高併發需要支援可以開啟較多的檔案控制代碼(可以使用ulimit -n命令),且要有高效的io復用方式。由於同步io(低效),非同步io(沒有比較好的實現)都被排除,故只能使用無阻塞式同步io,包括select(可以開啟的檔案控制代碼固定1024以下),poll(採用輪詢機制,效率低下)和epoll,故只能使用epoll。

VC 一些要點記錄

本次記錄c 的幾個要點,關於visual studio 2017.說明 visual studio 2017 比visual studio 2015 有了很大的提公升,更快的 編譯速度,更輕便的安裝方式。所以公升級這個是很有必要的,但是往往我們很多公用的編譯環境是用vc14 進行構建的,而visua...

C 一些要點

1.傳指標時,我們可以通過指標來修改它在外部所指向的內容。但如果要修改外部指標所指向的物件是不可能的。例如傳遞外部指標到函式內來分配空間,必須傳遞指標的指標或指標的引用。2.char carry 10 編譯器會將其後所有的東西都置0 3.函式返回值為const時,返回的東西付給乙個型別相同的標示後其...

js一些要點

js中 undefined null true false null false false undefined false undefined null false true 任意物件 返回右邊的任意物件 關於js立即執行函式 function function aa 這樣不會執行並且丟擲異常 f...