2013-05-02 35 views
0

有没有办法通过套接字传递对象引用?通过套接字传递对象引用?

说我有一个客户端连接到服务器,我想通过套接字将该客户端对象引用传递给服务器。那可能吗?如果是,如何?这是建议?或者有其他选择?

+2

为什么你需要传递引用而不是对象?如果客户端和服务器驻留在单独的JVM的对象上,引用将不会有用,因为只有其中一个JVM可以使用对象。如果客户端和服务器位于同一个JVM上,则应使用进程内通信,例如公共静态队列。 – 2013-05-02 12:25:05

+0

你想达到什么目的?我想他们正在不同的JVM上运行! – NINCOMPOOP 2013-05-02 12:25:12

+0

我想实现一个聊天..我无法找到一种方法打印每个客户端的OWN控制台中的所有信息 – Rouki 2013-05-02 12:28:05

回答

2

的副本,如果你真的意味着Java引用,则没有:

你不能传递到另一台机器(或甚至另一个进程)有以下几个原因:

  • 的Java不会让你访问实际的参考值(你只能去引用它,即访问参考后面的对象/值)
  • ,即使你可以,值将没有米需要整理原工艺

取决于你想要达到的目标,它可能会更好放弃一些自己的ID(如果你要处理它像一个句柄/令牌这将是容忍)之外排序(例如数字),从这些ID到实际对象的映射,并通过连接传递ID。

0

您无法发送对象的引用,因为在正常情况下,服务器和客户端运行在不同的jvms中。

您可以通过“参考”发送的对象

0

你想实现什么目标。为什么不创建客户端+服务器架构,其中每个客户端也是服务器。这就是它在许多协议中的工作原理,这些协议需要客户端可以连接到服务器并且其他客户端可以连接到此客户端的行为。为您的客户端和服务器连接使用不同的端口。你应该很好。