TCP / IP套接字客户端

时间:2014-07-22 13:52:43

标签: java sockets tcp netty apache-mina

我对这个话题有一些非常基本的疑虑。 我有一个30年前在C,C ++中编写的遗留服务器,它支持套接字通信,但效果很好。 我正在编写一个基于Java的新客户端来连接到这个服务器,基本上我的目标是为企业应用程序公开服务(REST等)。

1)我应该采用基于简单java套接字的方法还是使用Netty或Apache-Mina,在这种情况下使用这些现代api可能会带来什么好处。

2)当使用基于NIO的IO时,服务器是否也需要是基于NIO的才能利用它,或者NIO客户端到旧服务器(非NIO)的效果与NIO服务器一样好

非常感谢

1 个答案:

答案 0 :(得分:2)

  

1)我应该采用基于简单java套接字的方法还是使用Netty或Apache-Mina,在这种情况下使用这些现代api可能会带来什么好处。

我认为您的意思是使用普通的Java套接字来实现HTTP / REST-ful API。

这是一个坏主意。理论上这是可能的,但最终会进行大量不必要的编码。并且很可能你不会正确地实现HTTP 1.1规范......这将导致进一步的问题。

至于其他人,我会看看他们,将他们的功能与您所需的功能进行比较并根据这个决定......以及如何易于使用他们看起来像你。

  

2)当使用基于NIO的IO时,服务器是否也需要是基于NIO的才能利用它,或者NIO客户端到旧服务器(非NIO)的效果与NIO服务器一样好

您在客户端和服务器端(NIO与非NIO)之间的关系是相互独立的。实际上,如果你正确地做REST,客户端和服务器端甚至不需要用同一种语言编程!