我正在考虑使用Python而不是C / C ++ API编程我的应用程序的网络相关功能。网络的预期用途是在我的应用程序的两个实例之间传递文本消息,类似于通过网络尽可能频繁地传递玩家位置的游戏。
虽然python套接字模块看起来已经足够成熟,但我想检查python模块是否有限制,这在开发的后期阶段可能会出现问题。
您如何看待python套接字模块:
提前致谢,
保
答案 0 :(得分:9)
查看Twisted,一个用于网络的Python引擎。内置支持TCP,UDP,SSL / TLS,组播,Unix套接字,大量协议(包括HTTP,NNTP,IMAP,SSH,IRC,FTP等)
答案 1 :(得分:3)
Python是一种成熟的语言,几乎可以用C / C ++做任何事情(如果你真的想伤害自己,甚至可以直接访问内存)。
你会发现你可以在很短的时间内编写漂亮的代码,这段代码从一开始就是可读的,并且它将保持可读性(即使在一年之后返回,你仍会知道它的作用)
Python的缺点是你的代码会有点慢。 “有点”,如“对于某些情况可能太慢”。所以通常的方法是在Python中尽可能多地编写,因为它会使您的应用程序可维护。最终,您可能会遇到速度问题。这是考虑在C中重写应用程序的一部分的时候。
这种方法的主要优点是:
答案 2 :(得分:1)
要回答#1,我知道除其他事项外,EVE Online(MMO)使用Python的变体作为其服务器代码。
答案 3 :(得分:1)
EVE在线使用的python是StacklessPython(http://www.stackless.com/),据我所知,他们使用它来实现如何通过使用tasklet和诸如此类的东西来实现线程。但是,由于python本身可以处理像MMO这样的东西,有4万人在线,我认为它可以做任何事情。
这个糟糕的答案并不是你问题的真正答案,而是先前的答案。
艾伦。