4

我有一个远程参与者(客户端)正在向另一个远程参与者(服务器)注册,然后再取消注册(使用关闭挂钩)。但是,虽然服务器拿起了注销,但实际sender属性是不同的 Channel 对象;所以在我的服务器日志中我有:

Registered new client [scala.actors.Channel@158e282]; supporting 1 clients
De-registered client [scala.actors.Channel@1caf0b6]; supporting 1 clients

我如何确定(在服务器端)这是最初向我注册的同一个客户端参与者?显然我可以为每个客户灌输自己的UUID,但我想知道是否有更简单的方法?

4

2 回答 2

1

UUID从对 scala 用户邮件列表的讨论来看,如果不使用其他类型的客户端标识符(如),这似乎是不可能立即实现的。如果您self在注册对象中发送来自客户端的引用,您将收到ObjectNotSerializable错误消息。

于 2009-06-30T08:32:12.757 回答
0

将发件人明确添加到您的邮件中。使用 RemoteActor.select 获取 scala.actors.remote.Proxy。使用它的 toString 方法来识别发送者。

于 2010-07-15T17:49:49.420 回答