Socket學習筆記(1)熱身

2021-08-28 16:55:58 字數 1420 閱讀 7964

sock_sream 提供面向連線的socket,對於網路來說,面向連線的就是tcp協議。

sock_dgram提供面向無連線的socket。就是ucp協議。

在 0x123456 其中12 是高位,56 是低位

確定主機位元組序可以用以下**:

#includeint main()un;

un.s = 0x0102;

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

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

return 0;

}

在socket程式設計中,提供了位元組序轉換函式:

所包含的標頭檔案為

#include
**『栗子』

#include#includeint main()
非通用套接字位址結構

#includesturct in_addr;

struct sockaddr_in;

通用套接字位址結構。

為了不同格式的位址能夠被傳入到套接字當中,所以有了通用套接字位址結構。非通用套接字位址結構可以強制轉換成通用套接字位址結構。

#includesturct sockaddr;
點分十進位制轉換為32位無符號整數

#includeint inet_pton(int family,const char *strptr,void *addrptr);
point (點) to **換)number(數字)

family		協議族

strptr 點分十進位制數串,比如192.168.1.2

addrptr 返回的32位無符號整數的位址

成功返回1,失敗返回其他,用來判斷是否轉換成功

32位無符號整數轉換成點分十進位制數串

#includeconst char *inet_ntop(int family,const void *addrptr,char *strptr,size_t len);
引數:

family 		協議族

addrptr 32位無符號整數的位址

strptr 點分十進位制數串

len 長度

對len有巨集定義

#define inet_addrstrlen 16 // ipv4

#define inet6_addrstrlen 32 //ipv6

筆記如果有問題,希望各位大佬嚴厲指出,謝謝【鞠躬】

Socket學習筆記

public classsocketextends object 此類實現客戶端套接字 也可以就叫 套接字 套接字是兩台機器之間的通訊端點。套接字的實際工作由socketimpl類的例項執行。應用程式通過更改建立套接字實現的套接字工廠可以配置它自身,以建立適合本地防火牆的套接字。一 建構函式 soc...

socket學習筆記

為了理清思路,做一些小筆記 1 socket流程 int socket 產生了該socket的描述符socket description bind 主動呼叫時,把socket與埠繫結,如果不主動呼叫,在linsten和connect時,會自動隨機分配乙個埠。server端在socket和bind之後...

Socket學習筆記

插板插座 網路套接字 在通訊過程中,套接字一定是成對存在的 兩份套接字,c乙個 s乙個 乙個檔案描述符指向乙個套接字 該套接字內部由核心借助兩個緩衝區實現 網路位元組序 大端法 例如udp段格式,位址0 1是16位的源埠號,如果這個埠號是1000 0x3e8 則位址0是0x03,位址1是0xe8,也...