網路程式設計常用結構與函式

2022-06-29 01:45:11 字數 2395 閱讀 8971

#include in.h>

struct

in_addr ;

struct

sockaddr_in ;

用於宣告將套接字位址結構作為乙個引數傳遞進任何套接字函式時所傳遞的指標的資料型別

對於開發者而言,這些通用套接字位址結構的唯一用途是:對指向特定於協議的套接字位址

結構的指標執行型別強制轉換

#include struct

sockaddr ;

#include in.h>

struct

in6_addr ;

#define sin6_len

struct

sockaddr_in6 ;

#include in.h>

struct

sockaddr_storage ;

#include in.h>uint16_t htons(uint16_t host16bitvalue);    

//返回網路位元組序值

uint32_t htons(uint16_t host32bitvalue);

//返回網路位元組序值

uint16_t ntohs(uint16_t net16bitvalue);

//返回網路位元組序值

uint32_t ntohs(uint32_t net16bitvalue);

//返回主機位元組序值

//

源自berkeley

#include

//將自dest所指位置開始的nbytes個位元組置0

void bzero(void *dest, size_t nbytes);

//將自src所指位置開始的nbytes個位元組複製到的dest所指的位置

void bcopy(const

void *src, void *dest, size_t nbytes);

//比較ptr1與ptr2所指位置開始的nbytes位元組是否相等,若相等則返回0,否則返回非0

int bcmp(const

void *ptr1, const * ptr2, size_t nbytes);

//

ansi c函式

#include

//將目標字串dest指定數目len的位元組置為值c

void *memset(void *dest, int

c, size_t len);

//將自src所指位置開始的nbytes個位元組複製到的dest所指的位置

void *memcpy(void *dest, const

void *src, size_t nbytes);

//比較ptr1與ptr2所指位置開始的nbytes位元組是否相等,若相等則返回0,否則返回非0

int memcmp(const

void *ptr1, const

void *ptr2, size_t nbytes);

#include //

將strptr所指的c字串轉換成乙個32位的網路位元組序二進位制值,並儲存在addrptr中

//若字元有效則返回1,否則為0

int inet_aton(const

char *strptr, struct in_addr *addrptr);

//將strptr所指的c字串轉換成乙個32位的網路位元組序二進位制值,並作為返回值返回

//此函式目前已被廢棄

in_addr_t inet_addr(const

char *strptr);

//將乙個32位的網路位元組序二進位制ipv4位址轉換成相應的點分十進位制數串,並返回它的指標

char *inet_ntoa(struct in_addr inaddr);

#include //

嘗試轉換有strptr指標所指的字串,並通過addrptr存放二進位制結果

//若成功則返回1,若strptr所指字串不是有效的表示式格式,返回0,出錯返回-1

int inet_pton(int family, const

char *strptr, void *addrptr);

//將乙個網路位元組序二進位制位址轉換成相應的點分十進位制數串,並返回它的指標,出錯返回null

//呼叫者必須為strptr分配記憶體,strptr不能是乙個空指標,當呼叫成功時,這個指標就是該函式的返回值

const

char *inet_ntop(int family, const

void *addrptr, char *strptr, size_t len);

linux網路程式設計常用函式詳解與例項

常用的網路命令 netstat telnet telnet是乙個用來遠端控制的程式,但是我們完全可以用這個程式來除錯我們的服務端程式的.比如我們的伺服器程式在監聽8888埠,我們可以用telnet localhost 8888來檢視服務端的狀況.網路函式描述和例項 int socket int do...

Linux網路程式設計常用函式

計算機資料儲存有兩種位元組優先順序 高位位元組優先和低位位元組優先。internet上資料以高位位元組優先順 序在網路上傳輸,所以對於在內部是以低位位元組優先方式儲存資料的機器,在internet上傳輸資料時就需 要進行轉換。我們要討論的第乙個結構型別是 struct sockaddr,該型別是用來...

網路程式設計常用I O函式

read write readv writev 對資料進行整合傳輪及傳送的函式。也就是說,通過writev 函式可以將分散儲存在多個緩衝中的資料一併傳送,通過readv函式可以由多個緩衝分別接收。因此,適當使用這2個函式可以減少i o函式的呼叫次數。下面先介紹writev 函式。include ss...