문제

다른 원격 행위자(서버)에 등록한 다음 나중에 등록을 취소하는(종료 후크를 사용하여) 원격 행위자(클라이언트)가 있습니다.그러나 서버가 등록 취소를 선택하더라도 실제 sender 재산은 다른 채널 객체;내 서버 로그에는 다음이 있습니다.

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

이것이 원래 나에게 등록된 동일한 클라이언트 행위자인지 (서버 측에서) 어떻게 확인할 수 있습니까?분명히 나는 ​​각 클라이언트에게 고유한 특성을 부여할 수 있습니다. UUID 하지만 더 쉬운 방법이 있는지 궁금합니다.

도움이 되었습니까?

해결책

스칼라 사용자의 메일링 리스트에 대한 토론에 따르면 이는 대체 종류의 클라이언트 식별자(예: UUID).당신이 보내는 경우 self 등록 객체의 클라이언트로부터 참조하면 ObjectNotSerializable 오류.

다른 팁

메시지에 보낸 사람을 명시적으로 추가하세요.scala.actors.remote.Proxy를 얻으려면 RemoteActor.select를 사용하세요.보낸 사람을 식별하려면 toString 메서드를 사용하세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top