Search in sources :

Example 1 with HttpServer

use of org.redkale.net.http.HttpServer in project redkale by redkale.

the class TransportTest method main.

public static void main(String[] args) throws Throwable {
    System.setProperty("net.transport.checkinterval", "2");
    List<InetSocketAddress> addrs = new ArrayList<>();
    addrs.add(new InetSocketAddress("127.0.0.1", 22001));
    addrs.add(new InetSocketAddress("127.0.0.1", 22002));
    addrs.add(new InetSocketAddress("127.0.0.1", 22003));
    addrs.add(new InetSocketAddress("127.0.0.1", 22004));
    for (InetSocketAddress servaddr : addrs) {
        // if (servaddr.getPort() % 100 == 4) continue;
        HttpServer server = new HttpServer();
        DefaultAnyValue servconf = DefaultAnyValue.create("port", servaddr.getPort());
        server.init(servconf);
        server.start();
    }
    addrs.add(new InetSocketAddress("127.0.0.1", 22005));
    final AsyncIOGroup asyncGroup = new AsyncIOGroup(8192, 16);
    asyncGroup.start();
    Thread.sleep(1000);
    TransportFactory factory = TransportFactory.create(asyncGroup, 0, 0);
    DefaultAnyValue conf = DefaultAnyValue.create(TransportFactory.NAME_PINGINTERVAL, 5);
    factory.init(conf, Sncp.PING_BUFFER, Sncp.PONG_BUFFER.remaining());
    Transport transport = factory.createTransportTCP("", null, addrs);
    System.out.println(String.format(format, System.currentTimeMillis()));
    try {
        CountDownLatch cdl = new CountDownLatch(20);
        for (int i = 0; i < 20; i++) {
            transport.pollConnection(null).whenComplete((r, t) -> {
                cdl.countDown();
                System.out.println("连接: " + r.getRemoteAddress());
            });
        }
        cdl.await();
        HttpServer server = new HttpServer();
        DefaultAnyValue servconf = DefaultAnyValue.create("port", 22005);
        server.init(servconf);
        server.start();
        Thread.sleep(4000);
        CountDownLatch cdl2 = new CountDownLatch(20);
        for (int i = 0; i < 20; i++) {
            transport.pollConnection(null).whenComplete((r, t) -> {
                cdl2.countDown();
                System.out.println("连接: " + r.getRemoteAddress());
            });
        }
        cdl2.await();
    } finally {
        System.out.println(String.format(format, System.currentTimeMillis()));
    }
}
Also used : InetSocketAddress(java.net.InetSocketAddress) HttpServer(org.redkale.net.http.HttpServer) DefaultAnyValue(org.redkale.util.AnyValue.DefaultAnyValue) CountDownLatch(java.util.concurrent.CountDownLatch)

Example 2 with HttpServer

use of org.redkale.net.http.HttpServer in project redkale by redkale.

the class VideoWebSocketServlet method main.

public static void main(String[] args) throws Throwable {
    CountDownLatch cdl = new CountDownLatch(1);
    AnyValue.DefaultAnyValue config = AnyValue.create().addValue("threads", System.getProperty("threads")).addValue("bufferPoolSize", System.getProperty("bufferPoolSize")).addValue("responsePoolSize", System.getProperty("responsePoolSize")).addValue("host", System.getProperty("host", "0.0.0.0")).addValue("port", System.getProperty("port", "8070")).addValue("root", System.getProperty("root", "./root3/"));
    HttpServer server = new HttpServer();
    server.addHttpServlet("/pipes", new VideoWebSocketServlet(), "/listen/*");
    server.init(config);
    server.start();
    cdl.await();
}
Also used : AnyValue(org.redkale.util.AnyValue) HttpServer(org.redkale.net.http.HttpServer)

Aggregations

HttpServer (org.redkale.net.http.HttpServer)2 InetSocketAddress (java.net.InetSocketAddress)1 CountDownLatch (java.util.concurrent.CountDownLatch)1 AnyValue (org.redkale.util.AnyValue)1 DefaultAnyValue (org.redkale.util.AnyValue.DefaultAnyValue)1