Python Twisted 多个客户端

3 投票
1 回答
774 浏览
提问于 2025-04-16 22:26

我想在空闲时间做一个新项目,正在尝试学习Twisted这个框架,但我遇到了一些困难,感觉有点摸不着头脑。

我还没有真正用它做过什么,只是在忙着阅读一些文档和我找到的网站。

假设我在做一个多人游戏,有多个区域(地图),有点像大型多人在线角色扮演游戏(MMORPG)。

根据我看到的,似乎工厂模式是个不错的选择(每个区域一个工厂)。

所以我的问题是,怎么把一个连接从一个工厂(区域)移动到另一个工厂去处理呢?

也许我在理论上理解得不太对,如果是这样,请告诉我。我之前做过很多低级别的套接字编程,但这个对我来说有点难。

谢谢大家的回答!

/ TL

1 个回答

0

工厂是一种方法,用来创建与特定的监听或连接插口之间的连接。简单来说,就是告诉系统“这个端口使用的是X协议”。

一旦你创建了一个连接处理器(也就是协议实例),它就和它的工厂没有太大关系了,除了它的.factory属性。你可以随意把它的.factory属性改成指向其他对象。

不过,在大型多人在线角色扮演游戏(MMORPG)中,“区域”通常是应用层的数据结构,用来表示一些几何形状、玩家等的集合。其实没有必要让每个区域都对应一个工厂。实际上,如果你希望玩家可以在不同区域之间自由移动,这就意味着他们在第二个区域时会继续使用和第一个区域相同的连接,这样一来,工厂就不太适合和区域关联了。

我不太明白你为什么会觉得这些对象应该直接关联。如果你尝试写一个示例程序,我想你会很快发现这样做是行不通的。

撰写回答