private void m_ReceiveBodyDataCallBack(ISocketQy sender, ISocketRecEventArgs args) { int currentBufferSize = args.NeedRecvBufferSize; if (currentBufferSize != m_nextPackageSize) { DebugQy.LogWarning("m_ReceiveBodyDataCallBack(): rec buffer size != 'BODY_BUFFER_SIZE' . Please check your operate in receive."); DebugQy.LogWarning("'I Has stop your receive function !' ------- from writer. "); if (RecMsgFailedEvent != null) { RecMsgFailedEvent(sender, args); } StopReceiveMessage(); return; } DebugQy.Log("'BODY_PACKAGE' has received."); m_nextHeadOrBody = HEAD_BODY_PACKET.HEAD; m_nextPackageSize = HEAD_BUFFER_SIZE; DebugQy.Log("start receive [BODY] :-------- thread.set ↑↑↑↑↑\n "); m_recEventWaitHandle.Set(); if (RecMsgCompleteEvent != null) { RecMsgCompleteEvent(sender, args); } }
private void m_BenginReceive(ISocketQy receiveObj, HEAD_BODY_PACKET choosePackage, int bufferSize) { switch (choosePackage) { case HEAD_BODY_PACKET.HEAD: DebugQy.Log("start receive HEAD :-------- thread.waitOne! ↓↓↓↓↓"); receiveObj.TryAnsyncReceiveMessage(bufferSize, "HEAD"); break; case HEAD_BODY_PACKET.BODY: DebugQy.Log("start receive BODY :-------- thread.waitOne! ↓↓↓↓↓"); receiveObj.TryAnsyncReceiveMessage(bufferSize, "BODY"); break; default: break; } m_recEventWaitHandle.WaitOne(); }
private void m_ReceiveHeadDataCallBack(ISocketQy sender, ISocketRecEventArgs args) { int currentBufferSize = args.NeedRecvBufferSize; if (currentBufferSize != HEAD_BUFFER_SIZE) { DebugQy.LogWarning("m_ReceiveHeadDataCallBack(): rec buffer size != 'HEAD_BUFFER_SIZE' . Please check your operate in receive."); if (RecMsgFailedEvent != null) { RecMsgFailedEvent(sender, args); } DebugQy.LogWarning("'I Has stop your receive function !' ------- from writer. "); StopReceiveMessage(); return; } string responseStr = Encoding.UTF8.GetString(args.ReceiveBuffer, 0, args.NeedRecvBufferSize); DebugQy.LogTag("HeadBodyTcpProtocol", "'HEAD_PACKAGE' has received. value of the package is :[" + responseStr + "]"); int nextBufferSize; bool isSuccess = m_GetIntFromStrWith_SCALE_OF_BYTE_SYSTEM(responseStr, out nextBufferSize); if (!isSuccess) { DebugQy.LogWarning("m_ReceiveHeadDataCallBack():the 'HeadBuffer' from sender is not a appoint value.\n" + "HeadBuffer to string :---." + responseStr + ".---"); if (RecMsgFailedEvent != null) { RecMsgFailedEvent(sender, args); } StopReceiveMessage(); DebugQy.LogWarning("'I Has stop your receive function !' ------- from writer."); } else { DebugQy.LogTag("HeadBodyTcpProtocol", "'HEAD_PACKAGE' say next body size is:[" + nextBufferSize + "]"); m_nextHeadOrBody = HEAD_BODY_PACKET.BODY; m_nextPackageSize = nextBufferSize; m_recEventWaitHandle.Set(); DebugQy.LogTag("HeadBodyTcpProtocol", "start receive [HEAD] :-------- thread.set ↑↑↑↑↑\n "); } }