2010-12-07 38 views
2

我是一个新手Scala开发人员,试图找出如何设计使用Java nio的套接字管理器。使用nio的客户端套接字的套接字管理器

我希望经理处理诸如'connect','disconnect'和'send'等消息,并且能够通过向接收到的数据发送'onData'消息来管理多个客户端套接字。

就我的理解,选择器必须在自己的线程中运行。

所以我可以把选择器选择在自己的线程,但我怎么能注册新的套接字通道与选择器(我的理解选择器不是线程安全的),而选择器可能在呼叫中选择?

当在Scala中结合actor和线程时什么是好设计?

回答

3

除非你为了纯粹的教学目的这么做,我的建议是“不要重新发明轮子。” :)

演员+ NIO = Naggati

或者,如果你想要的东西较低的水平,我建议Netty(其中Naggati使用)

+0

我完全同意你关于重新发明轮子,但我觉得这个问题很有趣,我怀疑模式会以某种形式返回。 Nagatti一加,但我真的想知道如何解决它。 – 2010-12-07 21:35:14