【发布时间】:2012-03-16 15:59:24
【问题描述】:
最近我开始开发简单的 flash(flash 仅限于 tcp)实时多人游戏,我需要一个服务器来提供客户端之间的通信。为此,我决定使用 Delphi XE + Indy,但我发现 Indy 提供了同步通信模型。 (我从未使用过任何 Indy 组件。)
到目前为止我的理解是同步(阻塞)模型限制了并发性,因此使 Indy TCP 服务器组件不适合实时多人游戏。
我的问题是:我应该使用非阻塞通信吗?实现它的最佳工具(组件、类等)是什么?
此外,如果您提供使用此工具广播消息的示例(源代码),我将非常高兴。 - 我想一次向特定“房间”的每个成员发送相同的消息(但不向其他房间的成员发送消息。)。
PS 抱歉我的英语很差(我母语不是):)
提前致谢。任何帮助表示赞赏。
【问题讨论】:
-
除非您需要数十万个与单个服务器的活动连接,否则我认为使用非阻塞套接字架构没有任何好处。如果后来有人真正需要它,我建议使用 Francois Piette 的 Overbyte 的 ICS。然而,Indy 当然可以在任何体面的现代托管互联网服务器上处理 100、1000 或 8000 个同时连接的多人游戏服务器。
标签: delphi sockets tcp real-time broadcast