TCP/IP socket client



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

1)我应该选择基于普通java套接字的方法,还是使用Netty或Apache-Mina,在这种情况下使用这些现代api会有什么好处?

2)当使用基于NIO的IO时,服务器是否也需要基于NIO来利用它,或者NIO客户端到遗留服务器(非NIO)就像使用NIO服务器一样好。

非常感谢

1)我应该选择基于普通java套接字的方法,还是使用Netty或Apache-Mina,在这种情况下使用这些现代api会有什么好处?

我假设你的意思是使用普通的Java套接字来实现HTTP/REST-ful api。

那是个坏主意。这在理论上是可行的,但是您最终会做大量不必要的编码。而且很有可能你不会正确地实现HTTP 1.1规范……这会导致更多的问题。

至于其他的,我会看一看,将它们的功能与你需要的功能进行比较,并基于此做出决定…以及在你看来是多么容易使用

2)当使用基于NIO的IO时,服务器是否也需要基于NIO来利用它,或者NIO客户端到遗留服务器(非NIO)就像使用NIO服务器一样好。

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

最新更新