想使用Python做游戏服务器端开发,需要具备哪些技术?
你自己说的太含糊了。游戏服务端。仅这两个词只是能说明你要求的服务器并发量要大,此外可能会有一个游戏引擎。具体的你用的是什么游戏类型。需要什么样的引擎。以及是否是网网游戏,或者是FLASH做的RPG游戏都没有说。所以很难给出一个具体的框架与协议。
不过简单的说,python做游戏服务器足够,以前有人用python做过魔兽世界的游戏服务器,做过EVE的客户端。
通常来讲,会使用一个内存数据库,一组关系型数据库。还有几套应用系统,比如交易系统,副本系统,对话系统,用户管理系统,支付系统系统。都是相互独立的,与游戏引擎关系不大。
要用的技术挺复杂的。主要是网络,安全,进程管理,C语言接口,数据库,图像处理,分布式管理等。
很多游戏公司都在用python做服务端了,
现在不是用python做如何的问题了,而是如何用p 服务器都是基于python,支持1000人左右可以,如果支持更多的人的话,有点吃力,现在后端
可以的,具体可以看一下几个框架
Twisted 很强大的老牌框架
Eurasia 国人开发的框架,号称拥有很变态的并发能力。
以上两个好像就是为了game而生的框架,楼主可以自行了解下。
下面两个回答都看了。我觉着更大可能是pandas包本身的版本问题。这个提示应该是pandas给的。其实pandas可以自己处理,如果处理了就不会提示。
所以你服务器上用的版本可能低些。
很简单,你说让服务端发1024大小他就发1024大小吗,不一定tcp协议他会把内容先丢缓存再缓存拿,假设你让服务器发1024大小他有时候会分好几次发,你只要实时读取客户端接收文件大小就好了,和服务端发过来文件大小进行比较然后考虑后面要不要继续接收
# -- coding: utf-8 --
# -- version: beta-00 --
####################################################################################################
import socket
####################################################################################################
class Main():
def __init__(self):
selfhost = '127001'
selfport = 9999
#--------------------------------------------------------------------------------------------------#
def Start(self):
clientSock = socketsocket(socketAF_INET, socketSOCK_STREAM)
clientSockconnect((selfhost, selfport))
while True:
clientSocksend(b'hello')
dataRecv = clientSockrecv(1024)
if not dataRecv:
break
clientSockclose()
####################################################################################################
def test():
m = Main()
mStart()
if __name__ == '__main__':
test()
0条评论