原创 linux中定義的幾個網絡報文的結構體
1、UDP協議 UDP協議是建立在IP協議基礎之上的,用在傳輸層的協議。 0 16 32 -------------
原创 如何設置linux socket爲非阻塞
將一個socket 設置成阻塞模式和非阻塞模式,使用fcntl方法,即: 設置成非阻塞模式: 先用fcntl的F_GETFL獲取flags,用F_SETFL設置flags|O_NONBLOCK; 即: flag
原创 原始套接字
基於原始套接字編程 在開發面向連接的TCP和麪向無連接的UDP程序時,我們所關心的核心問題在於數據收發層面,數據的傳輸特性由TCP或UDP來保證: 也就是說,對於TCP或UDP的程序開發,焦點在Data字段,
原创 NAT打洞原理(轉)
NAT路由器打洞原理 什麼是打洞,爲什麼要打洞 由於Internet的快速發展 IPV4地址不夠用,不能每個主機分到一個公網IP 所以使用NAT地址轉換。 下面是我在網上找到的一副圖 一般來說都是由私網內主機(例如上圖中“電腦A
原创 linux socket詳解
1、socket()函數 int socket(int domain, int type, int protocol); 參見/usr/include/bits/socket.h socket函數對應於普通文件的打開操作。
原创 AF_UNSPEC、AF_INET和AF_INET6之間的關係
ai_family參數指定調用者期待返回的套接口地址結構的類型。它的值包括三種:AF_INET,AF_INET6和AF_UNSPEC。如
原创 tcp的三次握手流程
建立TCP需要三次握手才能建立,而斷開連接則需要四次握手。整個過程如下圖所示: 先來看看如何建立連接的。 首先Client端發送連接請求報文,Server段接受連接後回覆ACK報文,併爲這次連接分配資源。Client端接收到ACK報
原创 web服務器對比
現在在嵌入式設備中所使用的web服務器主要有:boa、thttpd、mini_httpd、shttpd、lighttpd、goaheand、appw
原创 開始技術博客旅程
今天,就開始在csdn的偉大平臺記錄我工作中遇到的問題及解決辦法,做一個技術的整理和記錄,方便日後回顧!
原创 Makefile經典教程
makefile很重要 什麼是makefile?或許很多Winodws的程序員都不知道這個東西,因爲那些Windows的IDE都爲你做了這個工作,但我覺得要作一個好的和professional的程序員,makefile還是要
原创 C++的XML編程經驗――LIBXML2庫使用指南
寫這篇文章的原因有如下幾點:1)C++標準庫中沒有操作XML的方法,用C++操作XML文件必須熟悉一種函數庫,LIBXML2是其中一種很優秀的XML庫,而且它同時支持多種編程語言;2)LIBXML2庫的Tutorial寫得不太好,尤其是
原创 shell test命令用法
test命令用法。功能:檢查文件和比較值 1)判斷表達式 if test (表達式爲真) if test !表達式爲假 test 表達式1 –a 表達式2 兩個表達式都爲真
原创 iptables 從鏈、表開始理解
Filter表:過濾數據包,默認表。 (1)INPUT 鏈:過濾所有目標地址是本機的數據包(對進入本機數據包的過濾) (2)OUTPUT 鏈:過濾所有本機產生的數據包(對源地址得數據包的過濾) (3)FORWA
原创 TCP序列號和確認號詳解
TCP序列號和確認號詳解在網絡分析中,讀懂TCP序列號和確認號在的變化趨勢,可以幫助我們學習TCP協議以及排查通訊故障,如通過查看序列號和確認號可以確定數據傳輸是否亂序。但我在查閱了當前很多資料後發現,它們大多隻簡單介紹了TCP通訊的過程
原创 談一談在這裏寫博客
鑑於上一週都是轉載別人的博客,我就想是不是也要自己寫一個。但是苦於肚子裏墨水太少,寫不出大牛的段子,所以只能以一篇心情博文充數,方便日後自己回顧年少無知時的自己:) 之所以選擇在CSDN,有幾方面原因: 第