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);
     }
 }
Ejemplo n.º 2
0
 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();            
 }