最近,我一直在阅读 IRC 协议(RFC 1459、2810-2813),并且正在考虑实现自己的服务器。
我不一定要认真地遵守 IRC 协议(毕竟我这样做是为了好玩),但我喜欢它的一件事是网络可以透明地由多个服务器组成。
关于协议或 IRC 规范,我有很多不喜欢的地方。首先是昵称没有所有权。虽然存在像 NickServ 这样的服务,但它们不是官方协议的一部分。另一方面,适当地实施像 NickServ这样的东西会破坏分发的目的(即会有一个地方运行 NickServ,并为它存储一个数据)。
我希望有一种方法可以在每个服务器的基础上管理昵称。这样做的问题是,如果您有两个具有一些注册昵称的服务器,然后它们链接起来,您可能会发生冲突。
有没有办法在不使用一个中央数据存储的情况下避免这种情况?也就是说:是否可以保持服务器松散连接(这样它们每个都作为一个独立的实体存在,但也可以相互连接)并保持昵称之间的唯一性?
我意识到这个问题很模糊,但我想不出更好的措辞方式。我正在寻找更多的建议而不是实际的是/否答案。因此,如果有人对如何在保持服务器独立性的同时在网络中实现昵称唯一性有任何想法,我很想听听。请注意,完全没有必要严格遵守 IRC 协议。我可以根据自己的目的进行更改。:)