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个左右有时候就接受不到数据 大神求解

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名