→ typers : 建議改用 java.nio 處理 io 27.242.133.47 12/06 16:08
→ typers : 多執行緒在系統做大,會有很多雜事 27.242.133.47 12/06 16:09
→ typers : 需要處理 27.242.133.47 12/06 16:09
有鑑於傳統幫每個 Socket 都開一個執行緒的作法
在系統龐大時確實會有問題, 所以這個周末都在研究 java.nio
而 nio 又分成了 nio 與 nio2 (又叫 aio)
目前 nio 跟 aio 版的聊天室都已經實作出來了
不過 nio 的 Selector 機制不管是撰寫難度或是程式可讀性都不佳
所以目前比較傾向用 aio 來實作新的連線部分
由於之前偷懶, MUD 裡面對話類的功能都是用 blocking I/O 實現的
如果改用 non-blocking I/O 這部分勢必要重寫
原本使用 BufferedReader 時, 換行字元(\n)可以放心交由 java 代為處理
改為 nio 的 ByteBuffer 後, 都必須要自己處理了
等我把這部分搞定我會趕快更新文章的 QQ
--
╔═◢ ◣═╦╦═════╦═════╗
║ ◤◤◤ ◥ ╠╣飛鳥ももこ╠═╗ ║
║ ▇ ▇ ║╚═════╝ ╚═╦═╣
║ ▌ ● ● ▌ ║╔══════╗╔═╩═╣
║◤ ◥ ︺█◤ ◥╠╣Momoko Asuka╠╝ ║
╚◣◢ ▄▂▄ ◣◢╩╩══════╩════╝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.72.253.42 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/mud/M.1575880557.A.918.html
→ cld123 : 加油 59.120.103.214 12/10 17:57
推 dou0228 : 改用 java netty 吧114.136.119.129 12/11 09:19
推 outshaker : 加油 卡關太久的話就先用原本的吧 36.230.46.174 12/12 10:49