public override void MessageAsyncHandler(MessageData reqMsg, MessageHandlerCompleteAsync callbackHandler) { _callbackHandler = callbackHandler; _respMsg = new MessageData { MessageID = reqMsg.MessageID, FirstTime = reqMsg.FirstTime, TragetPlatform = reqMsg.TragetPlatform, ReqPackageList = reqMsg.ReqPackageList}; try { using (SocketClientAsync sca = new SocketClientAsync(Host, Port)) { SocketAsyncEventArgs eventArgs = sca.Init(reqMsg.ReqPackageList); if (eventArgs != null) { SocketCompletedEventHandler transmitComplete = new SocketCompletedEventHandler(TransmitComplete); sca.BeginTransmit(eventArgs, transmitComplete); } } } catch(Exception ex) { //throw ex; _callbackHandler(_respMsg, ex); } }
internal void BeginTransmit(SocketAsyncEventArgs eventArgs, SocketCompletedEventHandler callback) { _completeDelegate = callback; if (_clientSocket != null && eventArgs != null) { bool willRaiseEvent = _clientSocket.ConnectAsync(eventArgs); if (!willRaiseEvent) { _clientSocket.ConnectAsync(eventArgs); } } //_autoConnectionEvent.WaitOne(); }