Ejemplo n.º 1
0
        public override void HandleTcpConnected(AleClientTunnel theConnection)
        {
            // TCP连接成功后发送CR。
            this.SendConnectionRequestFrame(theConnection);

            // 通知观察器TCP连接已建立。
            var args = new TcpConnectedEventArgs(theConnection.ID,
                                                 this.Context.RsspEP.LocalID, theConnection.LocalEndPoint,
                                                 this.Context.RsspEP.RemoteID, theConnection.RemoteEndPoint);

            this.Context.TunnelEventNotifier.NotifyTcpConnected(args);

            // 启动超时检测计时器。
            theConnection.StartHandshakeTimer();
        }
Ejemplo n.º 2
0
        public override void HandleTcpConnected(AleClientTunnel theConnection)
        {
            // 复位序号。
            this.Context.SeqNoManager.Initlialize();

            // TCP连接成功后发送ALE连接请求。
            this.SendConnectionRequestFrame(theConnection);

            // 通知观察器TCP连接已建立。
            var args = new TcpConnectedEventArgs(theConnection.ID,
                                                 this.Context.RsspEP.LocalID, theConnection.LocalEndPoint,
                                                 this.Context.RsspEP.RemoteID, theConnection.RemoteEndPoint);

            this.Context.TunnelEventNotifier.NotifyTcpConnected(args);

            // 设置下一个状态。
            this.Context.CurrentState = new AleWaitingForCcState(this.Context);

            // 启动握手超时计时器。
            theConnection.StartHandshakeTimer();
        }