我使用pygame的Python中创建一个回合策略游戏。 我发现写作插座非常困难的,所以我转过身来,火焰兵分享游戏板上的状态。 然而,火焰兵似乎无法支持在同一时间超过2个连接。
我正在通过本地主机上域名服务器
python -m Pyro4.naming
测试案例“服务器”:
import Pyro4
class Testcase:
def __init__(self):
self.values = [1, 2, 3, 10, 20, 30]
def askvalue(self, i):
return self.values[i]
daemon = Pyro4.Daemon()
ns = Pyro4.locateNS()
uri = daemon.register(Testcase())
ns.register("thetest", uri)
daemon.requestLoop()
和客户端:
import Pyro4, time
ns = Pyro4.locateNS()
casetester = Pyro4.Proxy("PYRONAME:thetest")
while True:
print "Accessing remote object:"
print casetester.askvalue(1)
print "staying busy"
time.sleep(10)
从第一两个客户端输出:
/usr/local/lib/python2.7/dist-packages/Pyro4-4.14-py2.7.egg/Pyro4/core.py:155: UserWarning: HMAC_KEY not set, protocol data may not be secure
warnings.warn("HMAC_KEY not set, protocol data may not be secure")
Accessing remote object:
2
staying busy
Accessing remote object:
2
staying busy
和重复
从第三个客户端的输出:
/usr/local/lib/python2.7/dist-packages/Pyro4-4.14-py2.7.egg/Pyro4/core.py:155: UserWarning: HMAC_KEY not set, protocol data may not be secure
warnings.warn("HMAC_KEY not set, protocol data may not be secure")
Accessing remote object:
和挂起。
从第四,第五(大概超越所有)客户端输出:
/usr/local/lib/python2.7/dist-packages/Pyro4-4.14-py2.7.egg/Pyro4/core.py:155: UserWarning: HMAC_KEY not set, protocol data may not be secure
warnings.warn("HMAC_KEY not set, protocol data may not be secure")
在这个阶段,我给了一个域名服务器^ C,和客户端3,4,......给这个输出和崩溃:
Traceback (most recent call last):
File "client.py", line 3, in <module>
ns = Pyro4.locateNS()
File "/usr/local/lib/python2.7/dist-packages/Pyro4-4.14-py2.7.egg/Pyro4/naming.py", line 323, in locateNS
raise Pyro4.errors.NamingError("Failed to locate the nameserver")
Pyro4.errors.NamingError: Failed to locate the nameserver
同时客户端1和2保持忙碌。
然而,打破了活跃客户中的一个将让挂了子里的一个开始工作。
我已经通过“出口PYRO_SERVERTYPE =多重”试图从线程切换出来,但是这并没有改变行为。 为最大连接数的设置似乎是200将其设置为1000并没有任何解决我的问题。
我读过,热释缺乏可扩展性,但我肯定就能获得至少10个连接?
我怎样才能在同一时间到Pyro4对象两个以上的客户端连接?