用于客户端/服务器或 P2P 通信的“官方”Java API 是什么? Java RMI?其他一些网络 API??
官方网络 API 是 SE 和 EE 的标准吗?
我确信答案是非常具体的,所以让我们看几个例子:
- 您在 2 台机器上安装了 2 个 swing 客户端并连接到同一个网络(或 Internet),并且您希望其中一个向另一个发送一个原语,例如整数 4,或一些 POJO,例如“小部件”对象
- 与上面的 #1 相同,但介于 Swing 客户端和完全兼容的 Java EE 后端(实现托管 bean、应用程序服务器,整个九码)
我心中没有特定的应用程序,我只是想知道在 Java 世界中客户端-客户端和客户端-服务器通信的“规范”是什么。
最佳答案
如果受 Java 的束缚不是问题,那么当涉及到客户端和服务器解决方案“交换”数据时,RMI 是一个非常抽象的解决方案(尤其是当数据是 Java 类时,这可能很难/需要付出太多努力)表示为文本数据)。只需确保您的对象实现可序列化,并且几乎所有内容都可以通过网络传输。
如果这不符合您的要求并且您想放弃原始网络的东西,客户端-服务器套接字框架 Netty是一个不错的选择。
关于用于客户端/服务器通信的 Java 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4736980/