目前,对于一个类,我正在实现一个服务器,它接收两种类型的连接,使用TCP和自定义应用层协议。虽然对于类,这是该项目需要如何完成,我想知道的优点/缺点,使用像Tomcat或类似的Web服务器来接收所有传入的通信,与。使用Java的NIO或像Mina(我正在使用)或Netty(我想在某个时候使用)这样的网络框架。
虽然我特别询问Java(因为它是我最熟悉的),但非常欢迎您将其扩展到任何其他语言。
我正在寻找关于性能、易用性、可伸缩性(无论是在开发方面还是在使用方面)、安全性以及您认为可以提供信息的任何其他基础的评论。
无论如何,任何输入将不胜感激。
奥马尔·费雷尔
6条答案
按热度按时间qaxu7uf21#
自版本6发布以来,Tomcat本身已经能够使用NIO,并带有NIO连接器。所以,蔚来善良,和被打得满地找牙的老猫团结一致。I know which one I'm choosing. ;)
yi0zb3m42#
我认为历史会给我们一些答案。
Tomcat比Java NIO早了很多年。当时的想法是,一个队列用于传入请求和一个线程池,每个请求一个线程是最好的。
数据表明Java NIO的扩展性更好,JBOSS现在正在维护和使用它。
如果我知道Tomcat正在被重构以使用Netty,我不会感到惊讶。
cwdobuhd3#
恕我直言,Tomcat的优势存在于你处理HTTP的时候。对于HTTP,我会使用Tomcat,因为它简化了很多事情,但对于纯TCP,我看不到任何优势,所以我建议使用更简单的方法。
but5z9lq4#
Tomcat通常与Java Servlet和HTTP一起使用。如果您正在使用Java构建Web应用程序,那么Tomcat就是您的选择。如果您只是想在两个程序之间使用TCP/IP进行通信,那么使用网络框架可能会更容易。
gfttwv5a5#
用Java Nio和实现一个定制的服务器,并稍微改变消息结构,然后你就可以处理各种请求和响应。using-java-nio-socket-as-the-underlying-foundation-similar-to-tomcat
ee7vknir6#
实际上,这里应该关门了。Tomcat已经支持NIO很多年了,现在没有必要谈论它。