用于客户端/服务器通信的Java标准

Zac*_*Zac 7 java networking rmi

什么是客户端/服务器或P2P通信的"官方"Java API?Java RMI?其他一些网络API?

这是官方的网络API的标准 SE和EE?

我确定答案是特定于上下文的,所以我们来看看几个实例:

  1. 您在2台计算机上安装了2个swing客户端并连接到同一网络(或Internet),并且您希望其中任何一个发送另一个原语,例如整数4或某些POJO,如"Widget"对象
  2. 与上面的#1相同,但是在Swing客户端和完全兼容的Java EE后端之间(实现托管bean,app服务器,整个9码)

我没有考虑具体的应用程序,我只是想知道Java世界中客户端 - 客户端和客户端 - 服务器通信的"规范"是什么.

San*_*rma 3

如果受 Java 束缚不是问题,那么当涉及到客户端和服务器解决方案“交换”数据时(尤其是当数据是 Java 类时,这可能很难/需要太多精力来表示为文本),RMI 是一个非常抽象的解决方案数据)。只需确保您的对象实现了 Serialized,并且几乎任何内容都可以通过网络传输。

如果这不符合您的要求,并且您想放弃原始的网络内容,那么客户端-服务器套接字框架Netty是一个不错的选择。