欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

C++基础语法梳理:网络编程丨Socket

时间:2022-10-09 17:55:45 | 浏览:1673

SocketLinux Socket 编程(不限 Linux)Socket 中的 read()、write() 函数ssize_tread(intfd,void*buf,size_tcount);ssize_twrite(intfd,con

Socket

Linux Socket 编程(不限 Linux)

Socket 中的 read()、write() 函数

ssize_tread(intfd,void*buf,size_tcount);ssize_twrite(intfd,constvoid*buf,size_tcount);

read()

read 函数是负责从 fd 中读取内容。

当读成功时,read 返回实际所读的字节数。

如果返回的值是 0 表示已经读到文件的结束了,小于 0 表示出现了错误。

如果错误为 EINTR 说明读是由中断引起的;如果是 ECONNREST 表示网络连接出了问题。

write()

write 函数将 buf 中的 nbytes 字节内容写入文件描述符 fd。

成功时返回写的字节数。失败时返回 -1,并设置 errno 变量。

在网络程序中,当我们向套接字文件描述符写时有俩种可能。

(1)write 的返回值大于 0,表示写了部分或者是全部的数据。

(2)返回的值小于 0,此时出现了错误。

如果错误为 EINTR 表示在写的时候出现了中断错误;如果为 EPIPE 表示网络连接出现了问题(对方已经