且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何发送和接收数据套接字 TCP (C/C++)

更新时间:2022-06-04 07:46:29

这是一个简单的接收全部"功能:

Here's a simple "receive all" function:

int recv_all(int sockfd, void *buf, size_t len, int flags)
{
    size_t toread = len;
    char  *bufptr = (char*) buf;

    while (toread > 0)
    {
        ssize_t rsz = recv(sockfd, bufptr, toread, flags);
        if (rsz <= 0)
            return rsz;  /* Error or other end closed cnnection */

        toread -= rsz;  /* Read less next time */
        bufptr += rsz;  /* Next buffer position to read into */
    }

    return len;
}