UNIX網路程式設計 套接字程式設計介紹

2021-09-02 12:47:37 字數 1286 閱讀 8975

列印當前機器是小頭派還是大頭派型別

注意,如果沒有加這兩個標頭檔案

#include

#include

編譯時候會報  警告:隱式宣告與內建函式『printf』不相容   這個錯誤

編譯: gcc -o byteorder byteorder.c

#include #include int main(int argc,char **argv) un;

un.s=0x0102;

if(sizeof(short) ==2)

else if(un.c[0]==2 && un.c[1]==1)

else

}else

return 0;

}

10進製ip到二進位制轉換的例子

#include #include #include #include #include #include int main (void)
一次讀取n個位元組的readn函式

#include #include #include #include #include ssize_t readn(int fd,void *vptr, size_t n)  else 

}else if(nread == 0)

nleft -= nread;

ptr += nread;

}

return (n-nleft);

}

int main(int argc, char **argv)

一次寫入n個位元組的writen函式

#include #include #include #include #include ssize_t writen(int fd, const void *vptr, size_t n) 

else

}nleft -= nwritten;

ptr += nwritten;

}return n;

}int main(int argc, char **argv)

每次讀取一行的readline函式

#include #include #include #include #include ssize_t readline(int fd, void *vptr, size_t maxlen) {

ssize_t n,rc;

char c, *ptr;

ptr = vptr;

for(n=1;n參考

inet_pton函式

UNIX網路程式設計 基礎套接字程式設計

就像 unix網路程式設計 裡面說的,我們可以將tcp的連線看成乙個 系統,那麼我們的套接字位址結構,就是我們的 裡面號碼,和其他能確定我們身份資訊的集合。其中ipv4的,我們已經很熟悉,還有另外的,在ipv6如果系統支援長度字段,那麼sin6 len常值必須定義,在使用這一結構時我們必須分清到底,...

UNIX網路程式設計 基本TCP套接字程式設計

一 基於tcp協議的網路程式 下圖是基於tcp協議的客戶端 伺服器程式的一般流程 伺服器呼叫socket bind listen 完成初始化後,呼叫accept 阻塞等待,處於監聽埠的狀態,客戶端呼叫socket 初始化後,呼叫connect 發出syn段並阻塞等待伺服器應答,伺服器應答乙個syn ...

UNIX網路程式設計 原始套接字SOCK RAW

實際上,我們常用的網路程式設計都是在應用層的報文的收發操作,也就是大多數程式設計師接觸到的流式套接字 sock stream 和資料報式套接字 sock dgram 而這些資料報都是由系統提供的協議棧實現,使用者只需要填充應用層報文即可,由系統完成底層報文頭的填充並傳送。然而在某些情況下需要執行更底...