java web既然已经有了tomcat为什么还要使用netty
1个回答
2017-12-19 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
但是nio直接使用比较难用,所以有了mina,netty这些针对网络io部分(tcp/udp-传输层)的封装(nio也有非网络io部分),为了使nio更易用。
http是应用层的协议。
servlet3.0则是另外一种东西,不是对协议的封装,javaee6众多规范中的一个,但凡javaee6的实现(或者像tomcat这种web容器部分的实现),都会支持servlet3.0,servlet理论上可以支持多种应用层协议(不单单只是http),而servlet3.0以后提供的异步特性与javase提供的nio或aio无直接关系,就是使用bio一样可以实现servlet3.0中提供的异步特性。
异步只是一种概念,异步与否要看,上层使用的异步,而支持的下层完全可能是阻塞的。
netty跟tomcat是同样的概念么?
不是
netty官方说是个框架,那他是否还需要web容器支持?
不需要
如果我客户端使用netty,服务端使用tomcat也是能连上的吧?
可以,比如客户端直接使用netty构造http协议与tomcat支持的servlet通信
是不是可以用netty 的客户端和服务端 直接替换掉HttpAsyncClient和tomcat?
不是很明白你的意思...netty的客户端和服务端、HttpAsyncClient、tomcat...三者之间似乎不存在关系...看你的通讯协议了
http是应用层的协议。
servlet3.0则是另外一种东西,不是对协议的封装,javaee6众多规范中的一个,但凡javaee6的实现(或者像tomcat这种web容器部分的实现),都会支持servlet3.0,servlet理论上可以支持多种应用层协议(不单单只是http),而servlet3.0以后提供的异步特性与javase提供的nio或aio无直接关系,就是使用bio一样可以实现servlet3.0中提供的异步特性。
异步只是一种概念,异步与否要看,上层使用的异步,而支持的下层完全可能是阻塞的。
netty跟tomcat是同样的概念么?
不是
netty官方说是个框架,那他是否还需要web容器支持?
不需要
如果我客户端使用netty,服务端使用tomcat也是能连上的吧?
可以,比如客户端直接使用netty构造http协议与tomcat支持的servlet通信
是不是可以用netty 的客户端和服务端 直接替换掉HttpAsyncClient和tomcat?
不是很明白你的意思...netty的客户端和服务端、HttpAsyncClient、tomcat...三者之间似乎不存在关系...看你的通讯协议了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询