Example #1
0
 /// <summary>
 /// 运行
 /// </summary>
 /// <typeparam name="TState"></typeparam>
 /// <param name="accept"></param>
 /// <param name="state"></param>
 public void Run <TState>(PipelineCallback <TState> accept, TState state = default(TState))
 {
     if (!disposing)
     {
         listen.BeginAccept(CompleteAccept <TState>, new object[] { accept, state });
     }
 }
Example #2
0
 public void Authenticate <TState>(X509Certificate certificate, PipelineCallback <TState> callback, TState state)
 {
     try
     {
         stream = new SslStream(base.CreateStream(), false);
         stream.BeginAuthenticateAsServer(certificate, CompleteAuthenticate <TState>, new object[] { callback, state });
     }
     catch (Exception e)
     {
         Trace.WriteLine($"ssl authenticating failed {e}.");
         callback(null, false, state);
         Interrupte();
     }
 }
Example #3
0
 protected override void OnConnected <TState>(PipelineCallback <TState> callback, TState state = default(TState))
 {
     try
     {
         sslStream = new SslStream(base.CreateStream(), false, CertificateValidation);
         sslStream.BeginAuthenticateAsClient($"https://{Socket.RemoteEndPoint}", OnAuthenticated <TState>, new object[] { callback, state });
     }
     catch (Exception e)
     {
         Trace.WriteLine($"ssl authenticating failed {e}.");
         callback(this, false, state);
         Interrupte();
     }
 }
Example #4
0
 public void Run <TState>(PipelineCallback <TState> accept, TState state = default(TState))
 {
     server.Run(OnAccept <TState>, new object[] { accept, state });
 }
Example #5
0
 protected virtual void OnConnected <TState>(PipelineCallback <TState> callback, TState state = default(TState))
 {
     callback(this, true, state);
 }
Example #6
0
        public void Connect <TState>(PipelineCallback <TState> callback, TState state = default(TState))
        {
            var socket = base.Socket;

            socket.BeginConnect(address, port, OnConnected <TState>, new object[] { callback, state });
        }
Example #7
0
 protected virtual void OnCreatePipeline <TState>(Socket socket, PipelineCallback <TState> callback, TState state)
 {
     callback(new TcpPipeline(socket), true, state);
 }
Example #8
0
        protected override void OnCreatePipeline <TState>(Socket socket, PipelineCallback <TState> callback, TState state)
        {
            var pipeline = new SslPipeline(socket);

            pipeline.Authenticate(certificate, callback, state);
        }