原创 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,有幾方面原因:     第