第五十一章、TCP連接之發送(read函數)和接收(write函數)

這一章我們來學習下read和write這兩個函數。

進過前幾章的學習我們已經將客戶端和服務器端連接上了,那麼我們還需要讓兩端進行數據交流,那它們怎麼交流呢?這就需要我們今天學習的read和write函數了。

read和write函數是從套接字讀和寫數據,我們來看下它們的定義:

ssize_t read (int __fd, void *__buf, size_t __nbytes)

ssize_t write (int __fd, const void *__buf, size_t __n)

其中ssize_t表示long int,

然後我們來看看這兩個函數需要哪些參數:

1、 fd表示讀寫操作的套接字描述符

2、 read函數中的buf表示接收數據緩衝區,write函數中的buf表示發送數據緩衝區,其實一句話buf表示的就是數據緩衝區。

3、 nbytes表示接收的數據量大小,n表示發送的數據量大小,就是發送或者接收的數據長度。

這兩個函數在成功時都是返回數據長度,失敗返回-1.

好了,我們來看下具體代碼怎麼寫:

服務端:

第五十一章、TCP連接之發送(read函數)和接收(write函數)

客服端:

第五十一章、TCP連接之發送(read函數)和接收(write函數)


分享到:


相關文章: