獲得套接字識別符號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位址 網路中裝置的標識 埠號 用於標識程序的邏輯位址...