From 1b676661ce54ab1e011cbe501eacfba2c46dbcb6 Mon Sep 17 00:00:00 2001 From: richie Date: Thu, 11 Apr 2019 14:43:50 +0800 Subject: [PATCH] SocketIOServer.java edited online with Bitbucket --- .../com/fr/third/socketio/SocketIOServer.java | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/fine-socketio/src/com/fr/third/socketio/SocketIOServer.java b/fine-socketio/src/com/fr/third/socketio/SocketIOServer.java index 140ddbdfb..3d5796b2d 100644 --- a/fine-socketio/src/com/fr/third/socketio/SocketIOServer.java +++ b/fine-socketio/src/com/fr/third/socketio/SocketIOServer.java @@ -38,6 +38,7 @@ import java.util.Collection; import java.util.UUID; import java.util.concurrent.TimeUnit; +import io.netty.util.concurrent.GenericFutureListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -125,12 +126,37 @@ public class SocketIOServer implements ClientListeners { startAsync().syncUninterruptibly(); } + public void start(GenericFutureListener> listener) { + startAsync(listener).syncUninterruptibly(); + } + /** * Start server asynchronously - * + * * @return void */ public Future startAsync() { + return startAsync(new FutureListener() { + + @Override + public void operationComplete(Future future) throws Exception { + + if (future.isSuccess()) { + log.info("SocketIO server started at port: {}", configCopy.getPort()); + } else { + log.error("SocketIO server start failed at port: {}!", configCopy.getPort()); + } + } + }); + } + + /** + * Start server asynchronously + * + * @return void + */ + public Future startAsync(GenericFutureListener> listener) { + log.info("Session store / pubsub factory used: {}", configCopy.getStoreFactory()); initGroups(); @@ -143,8 +169,8 @@ public class SocketIOServer implements ClientListeners { ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) - .channel(channelClass) - .childHandler(pipelineFactory); + .channel(channelClass) + .childHandler(pipelineFactory); applyConnectionOptions(b); InetSocketAddress addr = new InetSocketAddress(configCopy.getPort()); @@ -152,16 +178,7 @@ public class SocketIOServer implements ClientListeners { addr = new InetSocketAddress(configCopy.getHostname(), configCopy.getPort()); } - return b.bind(addr).addListener(new FutureListener() { - @Override - public void operationComplete(Future future) throws Exception { - if (future.isSuccess()) { - log.info("SocketIO server started at port: {}", configCopy.getPort()); - } else { - log.error("SocketIO server start failed at port: {}!", configCopy.getPort()); - } - } - }); + return b.bind(addr).addListener(listener); } protected void applyConnectionOptions(ServerBootstrap bootstrap) { @@ -274,3 +291,4 @@ public class SocketIOServer implements ClientListeners { } +