use of com.generallycloud.baseio.component.IoEventHandleAdaptor in project baseio by generallycloud.
the class SimpleTestFIxedLengthServer method main.
public static void main(String[] args) throws Exception {
IoEventHandleAdaptor eventHandleAdaptor = new IoEventHandleAdaptor() {
@Override
public void accept(SocketSession session, Future future) throws Exception {
future.write("yes server already accept your message:");
future.write(future.getReadText());
session.flush(future);
}
};
SocketChannelContext context = new NioSocketChannelContext(new ServerConfiguration(18300));
// use java aio
// SocketChannelContext context = new AioSocketChannelContext(new ServerConfiguration(18300));
SocketChannelAcceptor acceptor = new SocketChannelAcceptor(context);
context.addSessionEventListener(new LoggerSocketSEListener());
context.setIoEventHandleAdaptor(eventHandleAdaptor);
context.setBeatFutureFactory(new FLBeatFutureFactory());
context.setProtocolFactory(new FixedLengthProtocolFactory());
acceptor.bind();
}
use of com.generallycloud.baseio.component.IoEventHandleAdaptor in project baseio by generallycloud.
the class TestSimpleWebSocketClient method main.
public static void main(String[] args) throws Exception {
IoEventHandleAdaptor eventHandleAdaptor = new IoEventHandleAdaptor() {
@Override
public void accept(SocketSession session, Future future) throws Exception {
if (future instanceof ClientHttpFuture) {
ClientHttpFuture f = (ClientHttpFuture) future;
if (f.getRequestHeader("Sec-WebSocket-Accept") != null) {
f.updateWebSocketProtocol();
WebSocketFuture f2 = new WebSocketFutureImpl(session.getContext());
f2.write("{action: \"add-user\", username: \"火星人\"}");
// f2.write("{\"action\":999}");
session.flush(f2);
}
System.out.println(f.getRequestHeaders());
} else {
WebSocketFuture f = (WebSocketFuture) future;
System.out.println(f.getReadText());
}
}
};
ServerConfiguration configuration = new ServerConfiguration();
configuration.setSERVER_HOST("47.89.30.77");
// configuration.setSERVER_HOST("120.76.222.210");
// configuration.setSERVER_HOST("115.29.193.48");
// configuration.setSERVER_HOST("workerman.net");
configuration.setSERVER_PORT(7680);
// configuration.setSERVER_PORT(30005);
// configuration.setSERVER_PORT(29000);
// configuration.setSERVER_PORT(8280);
SocketChannelContext context = new NioSocketChannelContext(configuration);
SocketChannelConnector connector = new SocketChannelConnector(context);
context.setIoEventHandleAdaptor(eventHandleAdaptor);
context.setProtocolFactory(new ProtobaseProtocolFactory());
context.addSessionEventListener(new LoggerSocketSEListener());
connector.getContext().setBeatFutureFactory(new WebSocketBeatFutureFactory());
connector.getContext().setProtocolFactory(new ClientHTTPProtocolFactory());
connector.getContext().setSslContext(SSLUtil.initClient(true));
SocketSession session = connector.connect();
String url = "/web-socket-chat";
url = "/c1020";
HttpFuture future = new WebSocketUpgradeRequestFuture(session.getContext(), url);
// future.setRequestURL("ws://120.76.222.210:30005/");
// future.setResponseHeader("Host", "120.76.222.210:30005");
// future.setResponseHeader("Pragma", "no-cache");
// future.setResponseHeader("Cache-Control", "no-cache");
// future.setResponseHeader("User-Agent",
// "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36");
// future.setResponseHeader("Accept-Encoding", "gzip, deflate, sdch");
// future.setResponseHeader("Accept-Language", "zh-CN,zh;q=0.8");
// future.setRequestHeader("", "");
session.flush(future);
// ThreadUtil.sleep(1000);
// WebSocketReadFuture f2 = new WebSocketReadFutureImpl();
// f2.write("test");
// session.flush(f2);
ThreadUtil.sleep(999999999);
CloseUtil.close(connector);
}
use of com.generallycloud.baseio.component.IoEventHandleAdaptor in project baseio by generallycloud.
the class TestProtobufClient method main.
public static void main(String[] args) throws Exception {
ProtobufUtil protobufUtil = new ProtobufUtil();
protobufUtil.regist(SearchRequest.getDefaultInstance());
IoEventHandleAdaptor eventHandleAdaptor = new IoEventHandleAdaptor() {
@Override
public void accept(SocketSession session, Future future) throws Exception {
ProtobaseFuture f = (ProtobaseFuture) future;
SearchRequest res = (SearchRequest) protobufUtil.getMessage(f);
System.out.println();
System.out.println("________" + res);
System.out.println();
}
};
SocketChannelContext context = new NioSocketChannelContext(new ServerConfiguration(18300));
SocketChannelConnector connector = new SocketChannelConnector(context);
context.setIoEventHandleAdaptor(eventHandleAdaptor);
context.addSessionEventListener(new LoggerSocketSEListener());
// context.addSessionEventListener(new SessionActiveSEListener());
// context.setBeatFutureFactory(new FLBeatFutureFactory());
context.setProtocolFactory(new ProtobaseProtocolFactory());
SocketSession session = connector.connect();
ProtobaseFuture f = new ProtobaseFutureImpl(context);
ByteString byteString = ByteString.copyFrom("222".getBytes());
SearchRequest request = SearchRequest.newBuilder().setCorpus(Corpus.IMAGES).setPageNumber(100).setQuery("test").setQueryBytes(byteString).setResultPerPage(-1).build();
protobufUtil.writeProtobuf(request, f);
session.flush(f);
ThreadUtil.sleep(100);
CloseUtil.close(connector);
}
use of com.generallycloud.baseio.component.IoEventHandleAdaptor in project baseio by generallycloud.
the class TestReconnectClient method main.
public static void main(String[] args) throws Exception {
IoEventHandleAdaptor eventHandleAdaptor = new IoEventHandleAdaptor() {
@Override
public void accept(SocketSession session, Future future) throws Exception {
}
};
SocketChannelContext context = new NioSocketChannelContext(new ServerConfiguration("localhost", 8300));
ReconnectableConnector connector = new ReconnectableConnector(context);
connector.setRetryTime(5000);
context.setIoEventHandleAdaptor(eventHandleAdaptor);
context.addSessionEventListener(new LoggerSocketSEListener());
context.setProtocolFactory(new FixedLengthProtocolFactory());
// context.addSessionEventListener(new CloseConnectorSEListener(connector.getRealConnector()));
connector.connect();
ThreadUtil.sleep(Long.MAX_VALUE);
CloseUtil.close(connector);
}
use of com.generallycloud.baseio.component.IoEventHandleAdaptor in project baseio by generallycloud.
the class TestHttpLoadServerAio method main.
public static void main(String[] args) throws Exception {
final AtomicInteger res = new AtomicInteger();
final AtomicInteger req = new AtomicInteger();
IoEventHandleAdaptor eventHandleAdaptor = new IoEventHandleAdaptor() {
@Override
public void accept(SocketSession session, Future future) throws Exception {
HttpFuture f = (HttpFuture) future;
String res;
if (f.hasBodyContent()) {
byte[] array = f.getBodyContent();
res = "yes server already accept your message :) </BR><PRE style='font-size: 18px;color: #FF9800;'>" + new String(array) + "</PRE>";
} else {
res = "yes server already accept your message :) " + f.getRequestParams();
}
f.write(res);
session.flush(f);
// System.out.println("req======================"+req.getAndIncrement());
}
};
ServerConfiguration c = new ServerConfiguration(80);
c.setSERVER_MEMORY_POOL_CAPACITY(2560000);
c.setSERVER_MEMORY_POOL_UNIT(256);
c.setSERVER_ENABLE_MEMORY_POOL_DIRECT(true);
c.setSERVER_CORE_SIZE(4);
c.setSERVER_ENABLE_MEMORY_POOL(true);
c.setSERVER_MEMORY_POOL_CAPACITY_RATE(0.5);
SocketChannelContext context = new AioSocketChannelContext(c);
context.setProtocolFactory(new ServerHTTPProtocolFactory());
context.setIoEventHandleAdaptor(eventHandleAdaptor);
context.addSessionEventListener(new LoggerSocketSEListener());
new SocketChannelAcceptor(context).bind();
ThreadUtil.sleep(99999999);
}
Aggregations