在套接字编程中非法搜索的可能原因

时间:2015-05-27 09:46:36

标签: c++ c sockets

发送数据时收到以下错误。

发送:29-非法搜寻

请解释可能的原因。我是socket编程的新手。提前谢谢。

CHAR datasend[200];
    DOUBLE64 fTime=0.0;
    LONG32 sent_bytes=0;
    while(TRUE)
    {
            memset(datasend,0,200);
            fTime=getTime();
            sprintf(datasend,"0=%.0lf ",fTime);
            sent_bytes = send ( isockfd, datasend, strlen(datasend),0);
            logDebug1("Pulse is %s and data bytes is %d",datasend,strlen(datasend));
            if(sent_bytes <= 0)
            {
                    logPError("send");
                    logTimestamp("Closing socket\n");
                    close(isockfd);
                    return NULL;
            }

            sleep(25);

    }

1 个答案:

答案 0 :(得分:3)

您没有解释正确的错误,因为干预logDebug1电话。

  • 你有一个send返回一些&lt; = 0,可能还有errno你可以检查
  • 您打印的某些内容(logDebug1可能会出现问题errno
  • 你做某种perror来解释被破坏的errno

您要做的是检查sentBytes < 0 perror是否,然后根据需要打印更多调试内容。