2013-03-13 53 views
0

我已经实现了一个RMI解决方案,其中我的客户机程序可以从服务器程序中的数据库池中获取数据源对象。本地主机上都运行(我仍然是一个newbiew;))与RMI一起使用套接字

但后来我在SO一直在寻找的职位之一,它提到的关于第一包装一个插座,然后使用RMI来访问远程访问对象。

Java RMI not closing socket after lease expiration

我也读了RMI还使用插座内部。

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

+1

这没有多大意义。通过RMI传输数据源没有意义。如果你有RMI,你也不需要套接字。你似乎只是因为他们在那里才使用技术,而不是满足实际的设计要求。 – EJP 2013-03-13 21:55:10

回答

2

除非你打算写和控制客户端和服务器之间的通信协议,坚持使用RMI客户端查询服务器,并使用RMI服务器的响应。

另外,DataSource实例不是您应该序列化并分发给客户端的东西。通常,我希望的是,当客户端发出对数据的请求,服务器将使用数据源访问代表客户端的数据,然后马歇尔的结果,然后传回客户端。