寻找用于套接字编程的高级库(Java或Python)

10 投票
4 回答
8594 浏览
提问于 2025-04-15 15:58

简单来说,我正在制作一个基于Flash的多人游戏,现在开始着手服务器端的代码。因为我是这个项目的唯一开发者,所以我希望能找到一个适合游戏的高级套接字库,这样可以加快我的开发速度。

我之前尝试使用Twisted框架(Python的一个库),但遇到了一些个人问题,所以我在寻找其他解决方案。

我对Java或Python的库都很开放。最重要的是,这个库要足够稳定,适合多人游戏使用,而且需要是“高级”的(抽象的),因为我对游戏的套接字编程还不太熟悉。

我还想提到,我会使用原始的二进制套接字来支持我的Flash游戏(Actionscript 3.0),因为我认为这样会比传统的Flash XML套接字更快。

4 个回答

0

可以看看这个链接:“ActionScript 3 和 Flash 编程快速指南”。里面有一个详细的例子,展示了如何用 ActionScript 编写客户端代码,通过套接字(sockets)和 Python 服务器进行通信(代码也包括在内)。虽然这个例子不算是特别高级,但它用到了 Python 的基本套接字模块来进行通信。

(注意:这个 Python 服务器的例子并不是特别符合 Python 的风格。在理解了如何在 Python 中使用套接字的基本概念后,可以写一些更简单的代码,并且不要使用 from socket import * 这种写法。)

0

一边是高级的东西,另一边是原始的二进制套接字,这样是行不通的。抱歉,你也需要在服务器端使用低级的东西。

补充说明:针对提问者的评论。我不知道你说的那种“高级”接口在Java中是否存在。老实说,我觉得这并不太合理。如果你要通过Socket流传输字节,你真的需要了解标准的JDK Socket / ServerSocket API,比如超时、保持连接等。

7

对于Python,有一个选择是Concurrence框架。我最近使用过这个框架,配合Stackless Python,来模拟一个环境,在这个环境中,每秒可能会有成千上万的请求,而每个请求都必须在2秒内处理完。这个框架的使用非常简单,而且文档也写得很好。

我差点用Netty,这是一个JBoss项目,来实现这个功能,使用的是Java语言。

撰写回答