2010-12-07 40 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