首页 > Web开发 > 详细

netty篇-数据传输方式

时间:2021-07-01 14:53:33      阅读:38      评论:0      收藏:0      [点我收藏+]

为什么要使用netty的传输方式?

这里举一个例子,例子使用经典的OIO来创建一个服务器。

public class PlainOioServer {
    public void server(int port) throws IOException {
        final ServerSocket socket = new ServerSocket(port);
        try {
            do {
                final Socket clientSocket = socket.accept();
                System.out.println("接受来自于" + clientSocket + "的连接");
                new Thread(() -> {
                    OutputStream out;
                    try {
                        out = clientSocket.getOutputStream();
                        out.write("Hi! \r\n".getBytes(StandardCharsets.UTF_8));
                        out.flush();
                        clientSocket.close();
                    } catch (IOException e) {
                        System.out.println(ExceptionUtils.getStackTrace(e));
                    } finally {
                        try {
                            clientSocket.close();
                        } catch (IOException e) {
                            //ignore on close
                        }
                    }
                }).start();
            } while (true);
        } catch (Exception e) {
            System.out.println(ExceptionUtils.getStackTrace(e));
        }
    }

    public static void main(String[] args) throws IOException {
        new PlainOioServer().server(8082);
    }
}

 

这段代码可以处理中等数量的并发客户端。但是并不能很好的伸缩到支撑成千上万的并发连接。然后决定改用异步网络编程。发现改造后的代码是这样的:

 

netty篇-数据传输方式

原文:https://www.cnblogs.com/StivenYang/p/14957919.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!