之前實作的聊天室由於使用了阻塞式的 IO
在等待使用者輸入指令時整個執行緒都必須暫停
所以說線上有幾個使用者就等於我們要同時開啟幾條執行緒
這是非常浪費資源的
在後來的 java 版本有提供了非阻塞式的 IO
讓我們可以只用一條執行緒就可以應付許多連線
這次就使用 AsynchronousServerSocketChannel 來實作聊天室 (簡稱 AIO)
以下就是聊天室的程式碼
由於 AIO 有非常多的細節, 但是我們的目的是要開發 MUD
因此這邊我不打算解釋的太詳細
// GeneralAioEchoServer.java
// ✂