網路程式設計基礎 一

2021-10-18 19:33:51 字數 1653 閱讀 6894

獲得套接字識別符號socket_fd

int

socket

(int domain,

int type,

int protocol)

;/*int domain 為傳輸協議 tcp一般用af_inet ipv4 internet protocols ipv4網路協議

af_inet6 ipv6 internet protocols ipv6網路協議(需要收費)

int type 為傳輸形式 tcp 用sock_stream 以資料流的方式傳輸

int protocol 套接字選項 一般形式為0

成功返回 識別符號socket_fd

失敗返回 -1 和錯誤碼*/

繫結套接字並將自己ip、埠號、傳輸協議廣播

bind

(int socket_fd,

const

struct sockaddr* addr,socklen_t len)

/*int socket_fd 為上面獲得的套接字

const struct sockaddr* addr 為存放ip、埠、傳輸協議等資訊的通用結構體

socklen_t len 為結構體的長度*/

tcp/ip ipv4專用的結構體

struct sockaddr_in

;struct sin_addr

繫結成功後開始監聽

listen

(int socket_fd,

int backlog)

/* socket_fd 為套接字識別符號

backlog 為最大連線數,超過則會傳送錯誤碼econnrefused

成功:0 失敗:-1 */

開始接收訊息

accept

(int sockfd,

struct sockaddr *addr,socklen_t *addrlen)

/* socketfd 為套接字識別符號

struct sockaddr* addr 為一種通用的套接字結構型別,以供不同的協議呼叫

替換成struct sockaddr_in (tcp/ip協議)

socklen_t* addrlen 為長度指標

成功:客戶端套接字標識 失敗:-1*/

最後就是建立乙個記憶體接收訊息並讀取

客戶端

先獲得套接字

int

connect

(int sockfd,

const

struct sockaddr *addr, socklen_t addrlen)

;/* int sockfd 為套接字

const struct sockaddr *addr 存放伺服器各種ip、埠號、傳輸協議資訊

ipv4 用struct sockaddr_in替換

socklen_t addrlen

成功返回 0

否則返回-1,錯誤碼

最後就是建立乙個記憶體接收訊息並讀取

網路程式設計基礎(一)

網路程式設計基礎 網路程式設計的實現就必須有伺服器和客戶端的存在 伺服器 為客戶提供服務的一方 客戶端 獲取資料的為客戶端,可以是任意一台主機,只要它和伺服器存在連線,並且的到伺服器的授權,就可以使用伺服器提供的服務 有兩種協議可以選擇 1 tcp 面向連線的 可靠的 流式服務 2 udp 無連線 ...

網路程式設計基礎(一)

1 網路 在計算機領域中,網路是資訊傳輸 接收 共享的虛擬平台,通過它把各個點 面 體的資訊聯絡到一起,從而實現這些資源的共享。2 網際網路 internet 是網路與網路之間所串連成的龐大網路,這些網路以一組通用 的協議相連,形成邏輯上的單一巨大國際網路。在不同主機上的兩個程序 4 在網路乙個程序...

網路程式設計基礎一

osi參考模型也稱為七層模型 應用層 表示層 會話層 傳輸層 網路層 資料鏈路層 物理層 tcp ip參考模型也稱為4層模型 應用層例如 http ftp 傳輸層例如 tcp udp 網際層例如 ip 資料鏈路層 物理層例如 無線 光纜 網線 ip位址 網路中裝置的標識 埠號 用於標識程序的邏輯位址...