我最近在这里查看了聊天服务器,有点哦......我傻眼了。
我对这个问题很感兴趣,哪个白痴想出了在课堂上硬编码静态频道的想法ChatChannels.java?(这个问题是修辞性的,这都是 AL、AionCore 手驴的工作)
当然,作者是个彻头彻尾的白痴。聊天频道(或者更确切地说是它们的名称)以包的形式从客户端到达。好吧,告诉我,我为什么要对它们进行编码?
妈教过你如何创建动态目录吗?像这样的东西:
爪哇岛:
chatChannels.computeIfAbsent(channelIdentifier, k -> new ChatChannel())
他们还制作了一堆无用的类:
所有这些都由 3 到 6 的变量标识,一个
标识符为 3 - 位置聊天、4 - 交易聊天、5 - 组搜索聊天、6 - 类聊天的类别
就足够了。
因此,我们有一个简洁的聊天服务器。
P.S. 另外,不要在这样的例子中使用锁:
爪哇岛:
try { lock.lock(); // do something } finally { lock.unlock(); }
线程可能会等待或阻塞。就性能而言,阻塞和恢复流的过程代价高昂。
而编写这样代码的编码人员就是这样。
