Пример #1
0
 ///-------------------------------------------------------------------------------------------------
 /// <summary>   Converts the given TCP response. </summary>
 ///
 /// <remarks>   Justin, 7/11/2015. </remarks>
 ///
 /// <param name="tcpResponse">  The TCP response. </param>
 ///
 /// <returns>   A list of. </returns>
 ///-------------------------------------------------------------------------------------------------
 public ITcpListenerResponse Convert(ITcpResponse tcpResponse)
 {
     ITcpListenerResponse result = new TcpListenerResponse();
     result.State = tcpResponse.State;
     result.AsyncResult = tcpResponse.AsyncResult;
     result.Result = tcpResponse.Result;
     result.Listener = tcpResponse.AsyncResult.AsyncState as TcpListener;
     return result;
 }
Пример #2
0
 /// -------------------------------------------------------------------------------------------------
 ///  <summary>   Shows the error. </summary>
 /// 
 ///  <remarks>   Justin, 7/11/2015. </remarks>
 /// <param name="message">  The message. </param>
 /// <param name="response"> The response. </param>
 /// -------------------------------------------------------------------------------------------------
 public static void ShowMessage(string message, ITcpResponse response)
 {
     Show(message, response.Result, response.State, MessageBoxButtons.OK,
         MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
         MessageBoxOptions.ServiceNotification);
 }
Пример #3
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Accept TCP client. </summary>
        ///
        /// <remarks>   Justin, 7/11/2015. </remarks>
        ///
        /// <param name="byteArrLength">    Length of the byte array. </param>
        /// <param name="form1">            The first form. </param>
        /// <param name="response">         The response. </param>
        ///
        /// <returns>   An ITcpResponse. </returns>
        ///-------------------------------------------------------------------------------------------------
        private ITcpResponse AcceptTcpClient(long byteArrLength, IForm form1, ITcpResponse response)
        {
            MTcpListener.BeginAcceptTcpClient(iar =>
            {
                try
                {
                    //cast the iar async state contains reference to original tcp object that called begin accept tcp client
                    //cast object to a listener
                    response = _tcpListnerConverter.Convert(iar);

                    if (response.State != TcpState.Success)
                    {
                        TcpMessageService.ShowMessage("There was an error ", response);
                        return;
                    }

                    MTcpClientService.EndAcceptTcpClient(response.AsyncResult);

                    form1.SetOutput("Client Connected...");

                    AcceptTcpClient(byteArrLength, form1, response);

                    response = MTcpClientService.BeginReadStream(byteArrLength, form1);
                }
                catch (Exception ex)
                {
                    response.Result = ex.Message;
                    response.State = TcpState.Failed;
                }
            }, MTcpListener);

            return response;
        }