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); } }
/// <summary> /// 协议发送事件失败回调 /// </summary> /// <param name="sender">触发该事件的SocketQY</param> /// <param name="eventArgs">参数</param> private void m_ProtocolRecvCompleteCallback(ISocketQy sender, ISocketRecEventArgs eventArgs) { string recStr = Encoding.ASCII.GetString(eventArgs.ReceiveBuffer); DebugQy.LogTag("ClientController", "Recv Complete CallBack:" + recStr); m_FirSomeEvent(EVENT_TYPE.RECEIVE, COMPLETE_OR_FAILED.COMPLETE, recStr); }
private void m_ReceiveMsgFailedCallBack(ISocketQy sender, ISocketRecEventArgs eventArgs) { if (RecMsgFailedEvent != null) { RecMsgFailedEvent(sender, eventArgs); } }
private void m_SendMessageFaliedCallBack(ISocketQy sender, ISocketSndEventArgs evetArgs) { DebugQy.LogTag("HeadBodyTcpProtocol", "Failed Call Back in 'Protocol'."); if (SendMsgFailedEvent != null) { SendMsgFailedEvent(sender, evetArgs); } }
private void m_ReceiveMsgCompleteCallBack(ISocketQy sender, ISocketRecEventArgs eventArgs) { if (eventArgs.Tag == "HEAD") { m_ReceiveHeadDataCallBack(sender, eventArgs); } else if (eventArgs.Tag == "BODY") { m_ReceiveBodyDataCallBack(sender, eventArgs); } }
public void SetTargetSocket(ISocketQy workSocket) { if (workSocket == null) { DebugQy.LogException(new NullReferenceException("workSocket is null.Check your SetTargetSocket().")); return; } m_tgWorkSocket = workSocket; m_tgWorkSocket.AnsyncSendMsg_Complete_Event += m_SendMessageCompleteCallBack; m_tgWorkSocket.AnsyncSendMsg_Failed_Event += m_SendMessageFaliedCallBack; m_tgWorkSocket.AnsyncRecMsg_Complete_Event += m_ReceiveMsgCompleteCallBack; m_tgWorkSocket.AnsyncRecMsg_Failed_Event += m_ReceiveMsgFailedCallBack; }
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 "); } }
/// <summary> /// 非协议内连接事件回调 /// </summary> /// <param name="sender">触发该事件的SocketQY</param> /// <param name="eventArgs">参数</param> private void m_StartConnectedFailedCallBack(ISocketQy sender, ISocketTransEventArgs eventArgs) { DebugQy.LogTag("ClientController", "StartConnectedFailedCallBack:" + eventArgs.ErrMessage); m_FirSomeEvent(EVENT_TYPE.CONNECT, COMPLETE_OR_FAILED.FAILED, eventArgs.ErrMessage); }
/// <summary> /// 协议发送事件失败回调 /// </summary> /// <param name="sender">触发该事件的SocketQY</param> /// <param name="eventArgs">参数</param> private void m_ProtocolRecvFailedCallback(ISocketQy sender, ISocketRecEventArgs eventArgs) { DebugQy.LogTag("ClientController", "Recv Failed CallBack:" + eventArgs.ErrMessage); m_FirSomeEvent(EVENT_TYPE.RECEIVE, COMPLETE_OR_FAILED.FAILED, eventArgs.ErrMessage); }
/// <summary> /// 协议发送事件失败回调 /// </summary> /// <param name="sender">触发该事件的SocketQY</param> /// <param name="eventArgs">参数</param> private void m_ProtocolSendCompleteCallback(ISocketQy sender, ISocketSndEventArgs eventArgs) { DebugQy.LogTag("ClientController", "Send Complete CallBack:" + eventArgs.ErrMessage); m_FirSomeEvent(EVENT_TYPE.SEND, COMPLETE_OR_FAILED.COMPLETE, eventArgs.ErrMessage); }