public void Reconnect()
 {
     if (channelHandlerContext != null)
     {
         channelHandlerContext.ConnectAsync(channelHandlerContext.Channel.RemoteAddress, channelHandlerContext.Channel.LocalAddress);
     }
 }
 public override Task ConnectAsync(IChannelHandlerContext ctx, EndPoint remoteAddress, EndPoint localAddress)
 {
     if (this.Logger.IsEnabled(this.InternalLevel))
     {
         this.Logger.Log(this.InternalLevel, this.Format(ctx, "CONNECT", remoteAddress, localAddress));
     }
     return(ctx.ConnectAsync(remoteAddress, localAddress));
 }
Пример #3
0
 /// <inheritdoc />
 public override Task ConnectAsync(IChannelHandlerContext ctx, EndPoint remoteAddress, EndPoint localAddress)
 {
     if (Logger.IsEnabled(MsLogLevel.Information))
     {
         Logger.LogInformation("Channel {0} connect (remote: {1}, local: {2})", ctx.Channel, remoteAddress, localAddress);
     }
     return(ctx.ConnectAsync(remoteAddress, localAddress));
 }
Пример #4
0
        public override async Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress,
                                                [AllowNull] EndPoint localAddress)
        {
            if (DestinationAddress != null)
            {
                throw new InvalidOperationException();
            }

            DestinationAddress = remoteAddress;
            await context.ConnectAsync(_proxyAddress, localAddress);
        }
        public override Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress)
        {
            if (DestinationAddress != null)
            {
                return(null);
            }

            DestinationAddress = remoteAddress;
            connectPromise     = context.ConnectAsync(ProxyAddress, localAddress);
            return(connectPromise);
        }
Пример #6
0
        public override void UserEventTriggered(IChannelHandlerContext context, object evt)
        {
            base.UserEventTriggered(context, evt);
            if (evt is IdleStateEvent)
            {
                var e = evt as IdleStateEvent;
                switch (e.State)
                {
                //长期没收到服务器推送数据
                case IdleState.ReaderIdle:
                {
                    //可以重新连接
                    if (!context.Channel.Active)
                    {
                        context.ConnectAsync(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8007));
                    }
                }
                break;

                //长期未向服务器发送数据
                case IdleState.WriterIdle:
                {
                    //发送心跳包
                    byte[] messageBytes = Encoding.UTF8.GetBytes("heartbeat");
                    context.WriteAndFlushAsync(messageBytes);
                }
                break;

                //All
                case IdleState.AllIdle:
                {
                }
                break;
                }
            }
        }
Пример #7
0
 public Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress)
 {
     return context.ConnectAsync(remoteAddress, localAddress);
 }
Пример #8
0
 public override Task ConnectAsync(IChannelHandlerContext ctx, EndPoint remoteAddress, EndPoint localAddress)
 {
     if (this.Logger.IsEnabled(this.InternalLevel))
     {
         this.Logger.Log(this.InternalLevel, this.Format(ctx, "CONNECT", remoteAddress, localAddress));
     }
     return ctx.ConnectAsync(remoteAddress, localAddress);
 }
Пример #9
0
 public override async Task ConnectAsync(IChannelHandlerContext ctx, EndPoint remoteAddress, EndPoint localAddress)
 {
     Logger().LogInformation($"Channel {ctx.Channel} connect (remote: {remoteAddress}, local: {localAddress})");
     await ctx.ConnectAsync(remoteAddress, localAddress);
 }
 public Task ConnectAsync(EndPoint remoteAddress) => _ctx.ConnectAsync(remoteAddress);
Пример #11
0
        public override Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress)
        {
            Log.Debug($"{context.Name}: ConnectAsync {remoteAddress} {localAddress}");

            return(context.ConnectAsync(remoteAddress, localAddress));
        }
Пример #12
0
 public override Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress)
 {
     Log(Event.CONNECT, "remoteAddress=" + remoteAddress + " localAddress=" + localAddress);
     return(context.ConnectAsync(remoteAddress, localAddress));
 }
Пример #13
0
 public override void ExceptionCaught(IChannelHandlerContext context, Exception exception)
 {
     Console.WriteLine("Exception: " + exception);
     context.ConnectAsync(context.Channel.RemoteAddress);
 }
Пример #14
0
 public override Task ConnectAsync(IChannelHandlerContext context, EndPoint remote)
 {
     context.Channel.DoConnect(remote);
     return(context.ConnectAsync(remote));
 }
Пример #15
0
 public Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress)
 {
     return(context.ConnectAsync(remoteAddress, localAddress));
 }
Пример #16
0
 public override Task ConnectAsync(IChannelHandlerContext ctx, EndPoint remoteAddress, EndPoint localAddress)
 {
     _log.Info("Channel {0} connect (remote: {1}, local: {2})", ctx.Channel, remoteAddress, localAddress);
     return(ctx.ConnectAsync(remoteAddress, localAddress));
 }
Пример #17
0
 public override Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress)
 {
     RegisterFiredEvent(SupportedEvent.ConnectAsync);
     return(context.ConnectAsync(remoteAddress, localAddress));
 }
Пример #18
0
 public virtual Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress) => context.ConnectAsync(remoteAddress, localAddress);
 public virtual Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress)
 {
     return(context.ConnectAsync(remoteAddress));
 }