cxh194311 2017-01-11 08:02 采纳率: 0%
浏览 1307

IdTCPServerExecute函数接受不到数据

void __fastcall TfrmMain::IdTCPServerExecute(TIdContext *AContext)
{
CoInitialize(NULL);
try

    TCommHead Head = RecvHead(AContext->Connection);
    TCommRequest Request = RecvRequest(AContext->Connection, Head);
    TCommAnswer Answer;
    Answer.Init();

switch (Head.CommType)
{
case cs_Comm_Request_OpenSQL:
{
TADOConnection *Connection = FPoolerMan->LockConnection(
AContext->Connection->Socket->Binding->Handle, Request.ConnectID);

            if ( Connection == NULL )
            {
                Answer.ErrorNo = -1;
                Answer.ErrorInfo = SERVER_IS_BUSY;

                SendAnswer(Head.CommType, Answer, AContext->Connection);
            }
            else
            {

                    Answer.ErrorNo = -1;
                    Answer.ErrorInfo = "无效的SQL";

                    SendAnswer(Head.CommType, Answer, AContext->Connection);

                    WriteLog("IP:" + AContext->Binding()->PeerIP + " " + Request.CommandText);

                }
            }

            break;
        }
        case cs_Comm_Request_OpenFunc:  // 执行功能,返回结果集
        {
            TADOConnection *Connection = FPoolerMan->LockConnection(
                AContext->Connection->Socket->Binding->Handle, Request.ConnectID);

            if ( Connection == NULL )
            {
                Answer.ErrorNo = -1;
                Answer.ErrorInfo = SERVER_IS_BUSY;

                SendAnswer(Head.CommType, Answer, AContext->Connection);
            }
            else
            {
                TMemoryStream *mm = new TMemoryStream();
                try
                {


                    SendAnswer(Head.CommType, Answer, AContext->Connection, mm);

                }
                __finally
                {}
            }

            break;
        }


        }
        default:
            ;
    }
}
__finally
{
    CoUninitialize;
}

}

  • 写回答

1条回答 默认 最新

  • cxh194311 2017-01-11 08:03
    关注

    如果客户端连接300个左右有时候就接受不到数据 大神求解

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!