Python Twisted多客户端

3
我正在尝试学习Twisted,以便在业余时间做一个新项目,但我很难掌握它。
我还没有真正用它做过任何工作,只是忙于阅读文档和网站。
比如说,如果我要制作一个具有多个区域(地图)的多人游戏,就像MMORPG一样。从我所了解的来看,似乎工厂是正确的选择(每个区域一个工厂)。
那么我的问题是,如何将连接从一个工厂(区域)移动到另一个工厂进行处理?
也许我的理论完全错误,如果是这样,请告诉我。我以前几乎都是使用低级套接字进行工作,但这对我来说很难掌握。
谢谢任何回答!
/ TL

可能更适合发布在http://gamedev.stackexchange.com/上。 - Patrick
1个回答

0

工厂是一种将特定的连接方式与特定的监听或连接套接字关联起来的方法。它们是您说“此端口正在使用协议X”的方式。

一旦构建了连接处理程序(协议实例),它就不会与其工厂相关联,除了.factory属性。您只需更改其.factory属性以指向其他对象即可。

然而,在MMORPG中,“区域”通常是应用程序级数据结构,它们引用几何、玩家等集合。没有理由将一个工厂与一个区域关联起来。事实上,如果您希望玩家在区域之间自由移动,那就意味着他们在第二个区域中使用的连接与第一个区域中使用的相同,这表明工厂绝对不是要与之关联的正确的Twisted数据结构。

从您的问题中我无法清楚地知道为什么您认为这些对象应该直接相关。如果您尝试构建一个示例程序,我预计您很快就会意识到它行不通。


嗨!感谢您的指引。如果问题没有表达清楚,我很抱歉。MMORPG只是我能想到的一个例子。我真正想知道的是如何将客户端分组。有时候我不希望所有客户端都获得相同的数据,而只是在同一“组”中的那些客户端,这就是为什么我想到了“区域”。因此,我需要将客户端分组,并使他们能够更改组以接收其他数据。这有任何意义吗?无论如何,非常感谢您的时间。 - Tommy Lundgren
今天又见面了!我开始写一些实际的代码,取得了很大的进展。我发现了 Perspective Broker,它似乎包含了我想要的许多功能。 - Tommy Lundgren

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接