Linux TCP協議的程式設計流程

2021-10-06 04:35:11 字數 1458 閱讀 7807

一、定義

tcp協議是面向連線的可靠的位元組流服務

tcp協議分為客戶端和服務端

伺服器是被動通訊,客戶端是主動通訊

二、伺服器的系統呼叫

1、方法

(1)int socket();建立乙個用於監聽客戶端連線的網路套接字

原型:

成功返回套接字的檔案描述符,失敗返回-1

domain:協議簇 af_inet

type:具體的協議 sock_stream(tcp)、sock_dgram(udp)

protocol:預設值為0

成功返回0,失敗返回-1

sockfd:使用socket方法建立的套接字描述符

addr:伺服器程式的位址資訊

addr_len:指定結構體大小

struct sockaddr_in

(3)int listen();啟動監聽,不會阻塞

原型

成功返回0,失敗返回-1

sockfd:建立並繫結過的套接字描述符

backlog:指定核心建立的用於維護當前客戶端連線(還沒被accept)的佇列(已完成的)大小

(4)int accept();接收乙個客戶端的連線,返回的是乙個客戶端連線套接字

原型

成功返回與客戶端連線的檔案描述符,失敗返回-1

sockfd:經過listen的監聽套接字

addr:用於儲存接收到的客戶端的位址資訊

addrlen:位址結構的長度

(5)int recv/int send();讀取資料或者傳送資料(read()/write())

recv原型

send原型

(6)int close();關閉檔案描述符(套接字)

2、偽**

int

main()

close

(clientlinkfd)

}close

(listenfd)

;}

三、客戶端的系統呼叫

1、方法

(1)int socket();建立乙個用於整個通訊的套接字

(2)int connect();與伺服器程式建立連線

原型int connect(int sockfd)

成功返回0,失敗返回-1

addr:伺服器的位址資訊

(3)int rev();/int send();讀取或傳送資料

(4)int close();

2、偽**

int

main()

close

(sockfd)

;}

Linux TCP協議程式設計流程

tcp協議 面向連線的,可靠的 位元組流服務 udp協議 無連線的,不可靠的,資料報服務 伺服器 一般為被動通訊 客戶端 一般為主動通訊 1 伺服器端程式設計流程 1 int socket 建立乙個用於監聽客戶端鏈結的網路套接字 int socket int domain,int type,int ...

linux TCP程式設計示例

linux tcp程式設計 主要是這幾個函式 socket send recv write read close 伺服器端專用 bind listen accept 客戶端專用 connect tcp客服端 tcp client.c tcp相關標頭檔案 include include include...

Linux TCP套接字程式設計

服務端程式設計的步驟如下 建立服務端套接字。繫結套接字到乙個ip位址和乙個埠上 使用bind函式 將套接字設定為監聽模式等待連線請求 使用函式listen 這個套接字就是監聽套接字了。請求到來後,接受連線請求。返回乙個新的對應此連線的套接字。用返回的新的套接字和客戶端進行通訊,即傳送或接收資料 使用...