use of com.generallycloud.baseio.component.SocketSession in project baseio by generallycloud.
the class TestBeat method main.
public static void main(String[] args) throws Exception {
DebugUtil.setEnableDebug(true);
IoEventHandleAdaptor eventHandleAdaptor = new IoEventHandleAdaptor() {
@Override
public void accept(SocketSession session, Future future) throws Exception {
DebugUtil.debug("______________" + future.getReadText());
}
};
String serviceKey = "TestSimpleServlet";
ServerConfiguration configuration = new ServerConfiguration(18300);
configuration.setSERVER_SESSION_IDLE_TIME(10);
SocketChannelContext context = new NioSocketChannelContext(configuration);
SocketChannelConnector connector = new SocketChannelConnector(context);
context.addSessionIdleEventListener(new SocketSessionActiveSEListener());
context.setBeatFutureFactory(new ProtobaseBeatFutureFactory());
context.addSessionEventListener(new LoggerSocketSEListener());
context.setProtocolFactory(new ProtobaseProtocolFactory());
context.setIoEventHandleAdaptor(eventHandleAdaptor);
SocketSession session = connector.connect();
String param = "tttt";
long old = System.currentTimeMillis();
for (int i = 0; i < 5; i++) {
Future future = new ProtobaseFutureImpl(context, serviceKey);
future.write(param);
session.flush(future);
ThreadUtil.sleep(300);
}
System.out.println("Time:" + (System.currentTimeMillis() - old));
Thread.sleep(2000);
CloseUtil.close(connector);
}
use of com.generallycloud.baseio.component.SocketSession in project baseio by generallycloud.
the class TestDownload method main.
public static void main(String[] args) throws Exception {
String serviceName = "TestDownloadServlet";
String fileName = "upload-flashmail-2.4.exe";
JSONObject j = new JSONObject();
j.put(FileReceiveUtil.FILE_NAME, fileName);
LoggerFactory.configure();
SimpleIoEventHandle eventHandle = new SimpleIoEventHandle();
ServerConfiguration configuration = new ServerConfiguration(8300);
SocketChannelContext context = new NioSocketChannelContext(configuration);
SocketChannelConnector connector = new SocketChannelConnector(context);
context.setIoEventHandleAdaptor(eventHandle);
context.setProtocolFactory(new ProtobaseProtocolFactory());
context.addSessionEventListener(new LoggerSocketSEListener());
connector.getContext().setProtocolFactory(new ProtobaseProtocolFactory());
FixedSession session = new FixedSession(connector.connect());
final FileReceiveUtil fileReceiveUtil = new FileReceiveUtil("download-");
session.listen(serviceName, new OnFuture() {
@Override
public void onResponse(SocketSession session, Future future) {
try {
fileReceiveUtil.accept(session, (ParamedProtobaseFuture) future, false);
} catch (Exception e) {
DebugUtil.debug(e);
}
}
});
long old = System.currentTimeMillis();
session.write(serviceName, j.toJSONString());
System.out.println("Time:" + (System.currentTimeMillis() - old));
ThreadUtil.sleep(5000);
CloseUtil.close(connector);
}
use of com.generallycloud.baseio.component.SocketSession in project baseio by generallycloud.
the class TestListenSimple method main.
public static void main(String[] args) throws Exception {
String serviceKey = "TestListenSimpleServlet";
String param = "ttt";
LoggerFactory.configure();
SimpleIoEventHandle eventHandle = new SimpleIoEventHandle();
ServerConfiguration configuration = new ServerConfiguration(8300);
SocketChannelContext context = new NioSocketChannelContext(configuration);
SocketChannelConnector connector = new SocketChannelConnector(context);
context.setIoEventHandleAdaptor(eventHandle);
context.setProtocolFactory(new ProtobaseProtocolFactory());
context.addSessionEventListener(new LoggerSocketSEListener());
FixedSession session = new FixedSession(connector.connect());
ProtobaseFuture future = session.request(serviceKey, param);
System.out.println(future.getReadText());
session.listen(serviceKey, new OnFuture() {
@Override
public void onResponse(SocketSession session, Future future) {
ProtobaseFuture f = (ProtobaseFuture) future;
System.out.println(f.getReadText());
}
});
session.write(serviceKey, param);
ThreadUtil.sleep(1000);
CloseUtil.close(connector);
}
use of com.generallycloud.baseio.component.SocketSession in project baseio by generallycloud.
the class TestLineBasedBroadcastServer method main.
public static void main(String[] args) throws Exception {
IoEventHandleAdaptor eventHandleAdaptor = new IoEventHandleAdaptor() {
@Override
public void accept(SocketSession session, Future future) throws Exception {
long old = System.currentTimeMillis();
String res = "hello world!";
future.write(res);
ChannelAcceptor acceptor = (ChannelAcceptor) session.getContext().getChannelService();
acceptor.broadcast(future);
long now = System.currentTimeMillis();
System.out.println("广播花费时间:" + (now - old) + ",连接数:" + session.getContext().getSessionManager().getManagedSessionSize());
}
};
ServerConfiguration configuration = new ServerConfiguration();
configuration.setSERVER_PORT(18300);
configuration.setSERVER_SESSION_IDLE_TIME(180000);
configuration.setSERVER_MEMORY_POOL_CAPACITY(1024 * 512);
configuration.setSERVER_MEMORY_POOL_UNIT(64);
SocketChannelContext context = new NioSocketChannelContext(configuration);
SocketChannelAcceptor acceptor = new SocketChannelAcceptor(context);
context.addSessionEventListener(new LoggerSocketSEListener());
context.setIoEventHandleAdaptor(eventHandleAdaptor);
context.setProtocolFactory(new CharBasedProtocolFactory());
acceptor.bind();
}
use of com.generallycloud.baseio.component.SocketSession in project baseio by generallycloud.
the class TestLineBasedClient method main.
public static void main(String[] args) throws Exception {
IoEventHandleAdaptor eventHandleAdaptor = new IoEventHandleAdaptor() {
@Override
public void accept(SocketSession session, Future future) throws Exception {
System.out.println();
System.out.println("____________________" + future.getReadText());
System.out.println();
}
};
SocketChannelContext context = new NioSocketChannelContext(new ServerConfiguration(18300));
SocketChannelConnector connector = new SocketChannelConnector(context);
context.setIoEventHandleAdaptor(eventHandleAdaptor);
context.addSessionEventListener(new LoggerSocketSEListener());
context.setProtocolFactory(new CharBasedProtocolFactory());
SocketSession session = connector.connect();
CharBasedFuture future = new CharBasedFutureImpl(context);
future.write("hello server!");
session.flush(future);
ThreadUtil.sleep(100);
CloseUtil.close(connector);
}
Aggregations