這一章我們來學習下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.
好了,我們來看下具體代碼怎麼寫:
服務端:
客服端:
閱讀更多 C語言學習探討 的文章