【问题标题】:Using Sockets along with RMI将套接字与 RMI 一起使用
【发布时间】:2013-03-14 04:32:04
【问题描述】:

我已经实现了一个 RMI 解决方案,我的客户端程序可以从服务器程序中的数据库池中获取数据源对象。两者都在本地主机上运行(我还是个新手;))

但后来我在看 SO 中的一篇文章,它提到了先包装一个套接字,然后使用 RMI 访问远程访问对象。

Java RMI not closing socket after lease expiration

我还读到 RMI 在内部也使用套接字。

我的问题是如果我必须在 Socket 实例上创建一个包装器然后使用 RMI,我是否应该自己创建 Sockets(服务器和客户端套接字)然后使用 RMI....如果是...那么如何做吗?我已经学会了创建套接字和 RMI,但没有一起使用它们。

【问题讨论】:

  • 这没有多大意义。通过 RMI 传输数据源没有意义。如果你有 RMI,你也不需要套接字。您似乎只是因为技术的存在才使用它们,而不是满足实际的设计要求。

标签: java sockets rmi


【解决方案1】:

除非您打算编写和控制客户端和服务器之间的通信协议,否则请坚持使用 RMI 客户端来询问服务器并使用 RMI 服务器进行响应。

此外,DataSource 实例不应该序列化并分发给客户端。通常,我希望当客户端发出数据请求时,服务器会使用数据源代表客户端访问数据,然后编组结果并将它们发送回客户端。

【讨论】:

    猜你喜欢
    • 2011-02-26
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    相关资源
    最近更新 更多