【发布时间】:2015-08-11 23:00:49
【问题描述】:
用 Java 编写任何类型的 Web 服务器(无论是 Web 服务器、RESTful Web 应用程序还是微服务),您都可以使用 Sockets 在客户端和服务器之间进行双通道通信。
使用常见的Socket 和ServerSocket 类是微不足道的,但由于套接字是阻塞的,您最终会为每个请求创建一个线程。使用这个线程系统,您的服务器将完美地工作,但不会很好地扩展。
另一种方法是通过SocketChannel、ServerSocketChannel 和Selector 使用Streams,显然不像普通的Sockets 那样简单。
我的问题是:这两个系统中的哪一个用于生产就绪代码?我说的是 Tomcat、Jetty、Sparkjava 之类的大中型项目? 我想他们都使用 Stream 方法,对吧?
【问题讨论】:
-
websockets 怎么样?
-
@duffy356 你是什么意思?没有 NIO 就无法实现 Websockets,但是如果你认为有某种特殊的“WebSocket”而不是“ServerSocket”类,那你就错了。
-
感谢您提供此信息。
标签: java multithreading sockets server