【问题标题】:Query about piggybacked FIN & recieve捎带FIN&receive查询
【发布时间】:2018-01-22 11:57:17
【问题描述】:

如果收到捎带的 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;
    }
}

想知道它是否可行以及您可能有任何替代建议。

【问题讨论】:

    标签: sockets tcp-ip


    【解决方案1】:

    如果有数据,rc 将为正数,您的第一个 if 块将执行。如果下次除了 FIN 什么都没有,rc 将为零,您的第二个块将执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      • 2013-10-17
      相关资源
      最近更新 更多