Browse Source

增加启动监听

final/10.0.3
richie 6 years ago
parent
commit
848445c995
  1. 40
      fine-socketio/src/com/fr/third/socketio/SocketIOServer.java

40
fine-socketio/src/com/fr/third/socketio/SocketIOServer.java

@ -39,6 +39,7 @@ import java.util.Collection;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import io.netty.util.concurrent.GenericFutureListener;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -135,13 +136,37 @@ public class SocketIOServer implements ClientListeners {
startAsync().syncUninterruptibly(); startAsync().syncUninterruptibly();
} }
public void start(GenericFutureListener<? extends Future<? super Void>> listener) {
startAsync(listener).syncUninterruptibly();
}
/** /**
* Start server asynchronously * Start server asynchronously
* *
* @return void * @return void
*/ */
public Future<Void> startAsync() { public Future<Void> startAsync() {
return startAsync(new FutureListener<Void>() {
@Override
public void operationComplete(Future<Void> 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<Void> startAsync(GenericFutureListener<? extends Future<? super Void>> listener) {
log.info("Session store / pubsub factory used: {}", configCopy.getStoreFactory()); log.info("Session store / pubsub factory used: {}", configCopy.getStoreFactory());
initGroups(); initGroups();
@ -164,18 +189,7 @@ public class SocketIOServer implements ClientListeners {
addr = new InetSocketAddress(configCopy.getHostname(), configCopy.getPort()); addr = new InetSocketAddress(configCopy.getHostname(), configCopy.getPort());
} }
return b.bind(addr).addListener(new FutureListener<Void>() { return b.bind(addr).addListener(listener);
@Override
public void operationComplete(Future<Void> 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());
}
}
});
} }
protected void applyConnectionOptions(ServerBootstrap bootstrap) { protected void applyConnectionOptions(ServerBootstrap bootstrap) {

Loading…
Cancel
Save