網路 (一)Socket 簡介

2021-07-05 06:07:52 字數 1048 閱讀 8707

1、什麼是socket?

socket可以看成是使用者程序與核心網路協議棧的程式設計介面。

socket不僅可以用於本機的程序間通訊,還可以用於網路上不同主機的程序間通訊!

2、ipv4套接字位址結構

struct sockaddr_in

;

3、通用位址結構

用來指定與套接字關聯的位址,可根據不同協議而不同

struct sockaddr

4、位元組序

位元組序分類

小端位元組序(little endian)

//位元組序測試程式

int main()

位元組序轉換函式

//h代表host;n代表networks;s代表short;l代表long

uint32_t htonl(uint32_t hostlong);

uint16_t htons(uint16_t hostshort);

uint32_t ntohl(uint32_t netlong);

uint16_t ntohs(uint16_t netshort);

位址轉換函式

#include 

#include

//把位址字串:192.168.0.1 轉換為32位位址整數

int inet_aton(const

char *cp,struct in_addr *inp);

in_addr_t inet_addr(const

char *cp);

char *inet_ntoa(struct in_addr in);

5、套接字型別

資料報式套接字(sock_dgram)

原始套接字(sock_raw)

Socket網路程式設計(一)

udp 漂流瓶,每個人都可以向大海裡面扔漂流瓶,不管有沒有人撿到。不管接收方有沒有,我只往指定的位址傳送東西,64kb以內 tcp 號 必須要雙方建立連線,才能開始通訊,也就是傳送資料 2 網路模型 應用層 http協議 傳輸層 tcp協議 網路層 ip協議 鏈路層 乙太網協議 3 區分客戶端和伺服...

Socket 程式設計簡介

linux 公報 讓linux更富魅力!譯者 小牟 大多數的網路應用程式可以分成兩部分 客戶端和伺服器端。建立乙個socket include include當建立乙個socket時需要指定三個主要的引數 int socket int domain,int type,int protocol 域引數...

Socket 程式設計簡介

linux 公報 讓linux更富魅力!譯者 小牟 大多數的網路應用程式可以分成兩部分 客戶端和伺服器端。建立乙個socket include include當建立乙個socket時需要指定三個主要的引數 int socket int domain,int type,int protocol 域引數...