查询背驮式FIN&收到

时间:2018-01-22 11:57:17

标签: sockets tcp-ip

这个代码是否会在收到FIN背驮式FIN的情况下工作?

while(1) {

    rc = recv(sock,buf,sizeof(buf),MSG_WAITALL);

    if (rc > 0)
    {
        /* Code to process recv buf */
    }
    else if (rc == 0)
    {
        /* received FIN ?? */
        close(sock);
        break;
    }
    else /* rc < 0 */
    {
        /* Handle error */
        break;
    }
}

想知道它是否有用以及您可能有的其他建议。

1 个答案:

答案 0 :(得分:0)

如果有数据,rc将为正数,您的第一个if块将会执行。如果下次没有任何内容,只有FIN,rc将为零,第二个块将执行。