UDP封裝基礎學習記錄

2021-07-10 23:03:07 字數 1625 閱讀 4816

size_t  是一種整形型別,裡面儲存的是乙個整數,如同int , long 一樣。他是一種記錄大小的資料型別,它可以同sizeof等同起來,以此類推,size_t也就可以做int 相類似的運算。那麼為什麼不直接用int來代替它呢?它是為了提高**的可移植性。比如,在32位的作業系統中它是4位元組,但是在64位的作業系統中它是8位元組。

recvfrom 它是乙個經socket接收資料的函式,如果接收失敗返回-1.類似的還有sendto。它的引數有:

int sockfd : 標識乙個已連線套介面的描述字

void *buf : 接收資料的緩衝區

int len : 接收資料的緩衝區的長度

unsigned int flags : 一般為0

struct sockaddr *from : 接收的位址

socket_t *fromlen : 接收位址的長度

socket s : 標識乙個未繫結的套介面的描述字

const struct sockaddr far* name: 賦予套介面位址

int namelen: 賦予的套介面位址的長度

sockaddr_in 是乙個結構體,它在netinet/in.h中的定義如下:

struct sockaddr_in

memset((char*)&mysock, 0, sizeof(mysock))是對它的初始化。

s_addr 按照網路位元組順序儲存ip位址。

wsastartup ,為了在應用程式中呼叫任何乙個winsock api 函式,首先第一件事就是必須通過它來對winsock服務初始化。

UDP基礎學習

如何在網路中唯一標識一台計算機?ip位址。同一臺計算機上的多個程式如何共用網路而不衝突?網路埠。不同的計算機通訊怎麼才能互相理解?使用相同的協議。b類ip位址由2個位元組的網路位址和2個位元組的主機位址組成,網路位址的最高位必須是 10 位址範圍128.1.0.1 191.255.255.254可用...

千兆UDP學習除錯記錄(四)

千兆udp學習除錯記錄 四 20181009 周二 繼續分析源 crc已經說過了,現在來看ip receive模組。通過對傳送模組的全面 細緻解析,再對現在的接收模組進行分析,應該會輕鬆很多了吧。哈哈。補充 程式是直接用乙個總的流程狀態實現的,相比於一般的三段式狀態機,各有什麼優點呢?可以嘗試把程式...

基礎搜尋學習記錄

基礎搜尋 搜尋的基本演算法是 深度優先搜尋 dfs,depth first search 寬度優先搜尋 bfs,breadth first search,或稱為廣度優先搜尋 靜態版二叉樹如下 bfs bfs可以看作是將每一層的節點依次放入佇列中 bfs靜態二叉樹 如下 include using n...