线程“main”io.netty.channel.abstractchannel$AnnotatedConnectException:连接被拒绝:无进一步信息:/127.0.0.1:8888在sun.nio.channel.checkConnect(本机方法)在sun.nio.channel.socketchannel.finishConnect(未知源)在io.netty.channel.socket.nio.nicketchannel.dofinishConnect(niosocketchannel.java:325)在原因:java.net.ConnectException:连接被拒绝:没有进一步信息...还有11个
下面的行是我的连接线程的运行部分。
EventLoopGroup group = new NioEventLoopGroup();
Bootstrap bootstrap = new Bootstrap();
bootstrap.group(group);
bootstrap.channel(NioSocketChannel.class).handler(new
ChannelInitializer<SocketChannel>() {
protected void initChannel(SocketChannel socketChannel) throws
Exception {
socketChannel.pipeline().addLast(new
LengthFieldBasedFrameDecoder(64 * 1024, 0, 2));
socketChannel.pipeline().addLast(ClientHandler);
}
});
bootstrap.option(ChannelOption.SO_REUSEADDR,true);
ChannelFuture channelFuture=null;
try
{
channelFuture = bootstrap.connect(new InetSocketAddress(IP,
port)).sync();
channelFuture.awaitUninterruptibly();
channelFuture.addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture channelFuture)
{
try
{
if (channelFuture.isSuccess()) {
if(connectfuture!=null) connectfuture.cancel(true);log.debug("Cancelled connection thread scheduler");
} else {
channelFuture.cause().printStackTrace();
connectfuture=channelFuture.channel().eventLoop().scheduleAtFixedRate(new ClientConnectorThread(ClientHandler,IP,port) , 5,30, TimeUnit.SECONDS);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
} );
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
当我想要实现重新连接逻辑时,我会按照以下方式执行
为捕获空闲状态的管道添加两个处理程序
pipeline.addLast(new ReadTimeoutHandler(readTimeout, TimeUnit.SECONDS));
pipeline.addLast("ReconnectionHandler", new ReconnectionHandler());
在reconnectionhandler
捕获readtimeouthandler
激发的用户事件中,断开通道并尝试重新连接
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) {
if (evt instanceof IdleStateEvent) {
IdleStateEvent e = (IdleStateEvent) evt;
if (e.state() == IdleState.READER_IDLE) {
ctx.close();
}
} else {
ctx.fireUserEventTriggered(evt);
}
}
public void channelUnregistered(final ChannelHandlerContext ctx) throws Exception {
final EventLoopGroup eventLoopGroup = ctx.channel().eventLoop().parent();
eventLoopGroup.schedule(() -> {
bootstrap.connect()
}, reconnectDelay, TimeUnit.SECONDS);
ctx.fireChannelUnregistered();
}
我想连接到一个URL,这是阻止,使用python请求。 我使用了许多不同的代理服务器没有一个为我工作。https://free-proxy-list.net/ 回溯(最近一次调用last):文件“t.py”,第14行,在a=requests.get('https://my-url“,proxies=proxyDict)文件“/home/user/Documents/backend1/venv-li
我使用Sabre DAV在PHP中实现了一个webdav目录,用于我的网站(Application Server Webinterface)。 对于这个网站,我现在使用C#编写了一个TCP套接字,它运行在另一个服务器上(实际上它在同一个数据中心,但从理论上讲,它在另一个半球上)。 我想连接我的网络Dav到我的套接字的FTP服务器,这意味着文件监听,下载,上传。用户只能连接到一个服务。想象一下,我的
问题内容: 我显然正在运行一个实例,因为当我尝试通过输入来启动新服务器时,遇到了以下问题: 我不知道如何停止此服务器并启动新服务器。 在CLI中键入命令时,可以追加任何命令吗? 我的操作系统是Ubuntu 10.04。 问题答案: 连接到节点实例并使用shutdown命令,或者如果您在ubuntu上,则可以尝试通过init.d重新启动Redis服务器: 或停止/启动它: 在Mac上
问题内容: 我在跟踪为什么无法连接到特定主机时遇到问题。 通过curl或浏览器,以下命令可以正常工作: 但是,如果我使用请求: 我得到: 在网络上,我仅看到客户端问好,服务器立即断开连接,因此似乎没有任何ssl或密码不兼容。(我希望这些都是SSL层错误)在这种情况下还有什么其他问题? 我在python 3.6.1上,请求2.14.2(带有安全性额外功能)。 问题答案: 该服务器以多种方式损坏。 一
问题内容: 我一直在使用Tornado Web服务器进行一些测试, 并且到了要停止Web服务器的地步(例如在单元测试期间)。龙卷风网页上存在以下简单示例: 一旦被调用,它将阻塞程序(或当前线程)。读取所述源代码的对象给出了文档在这个例子中功能: 但是,我不知道如何将其集成到我的程序中。其实我有一个封装(有它自己的Web服务器类和函数),但只要我打电话开始,程序(或测试)过程块会反正。 我试图在另一
我正在使用插件Goup-server-li的负载。 如何停止服务器? 我尝试了server.restart(),server.kill(),server.reset() 但总是有这样的错误: 未捕获错误:在Object.exports处侦听EADDRINUSE 127.0.0.1:35729_导出时出现errnoException(util.js:1022:11)_服务器上的exceptionWi