本文整理汇总了Python中Network.connect方法的典型用法代码示例。如果您正苦于以下问题:Python Network.connect方法的具体用法?Python Network.connect怎么用?Python Network.connect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Network
的用法示例。
在下文中一共展示了Network.connect方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Controller
# 需要导入模块: import Network [as 别名]
# 或者: from Network import connect [as 别名]
class Controller():
def __init__(self):
self.sending_flag = True
self.conf = {}
self.network = None
self.queue = Queue()
self.world = World(self.queue)
self.client = AI()
self.argNames = ["AICHostIP", "AICHostPort", "AICToken", "AICRetryDelay"]
self.argDefaults = ["127.0.0.1", 7099, "00000000000000000000000000000000", "1000"]
def start(self):
self.read_settings()
self.network = Network(ip=self.conf[self.argNames[0]],
port=self.conf[self.argNames[1]],
token=self.conf[self.argNames[2]],
message_handler=self.handle_message)
self.network.connect()
def run():
while self.sending_flag:
event = self.queue.get()
self.queue.task_done()
message = {
'name': Event.EVENT,
'args': [{'type': event.type, 'args': event.args}]
}
self.network.send(message)
Thread(target=run, daemon=True).start()
def terminate(self):
print("finished!")
self.network.close()
self.sending_flag = False
def read_settings(self):
if os.environ.get(self.argNames[0]) is None:
for i in range(len(self.argNames)):
self.conf[self.argNames[i]] = self.argDefaults[i]
else:
for i in range(len(self.argNames)):
self.conf[self.argNames[i]] = os.environ.get(self.argNames[i])
def handle_message(self, message):
if message[Constants.KEY_NAME] == Constants.MESSAGE_TYPE_INIT:
self.world.handle_init_message(message)
elif message[Constants.KEY_NAME] == Constants.MESSAGE_TYPE_TURN:
self.world.handle_turn_message(message)
self.do_turn()
elif message[Constants.KEY_NAME] == Constants.MESSAGE_TYPE_SHUTDOWN:
self.terminate()
def do_turn(self):
def run():
self.client.do_turn(self.world)
Thread(target=run, daemon=True).start()
示例2: launch
# 需要导入模块: import Network [as 别名]
# 或者: from Network import connect [as 别名]
def launch(name):
# Game
game = Game.Game()
# Try to connect
socket = Network.connect("192.168.0.3", 8080)
Protocol.setName(socket, name)
# Thread for inputs
q = queue.Queue()
t = None
startThread(t, q)
# Main event loop
data = bytes()
while True:
# Send commands
try:
line = q.get_nowait()
interpretCommand(line, socket)
except queue.Empty:
pass
# Get order
order = Network.getOrder(socket)
try:
if order is not None:
Protocol.manageOrder(socket, order, game)
except Protocol.ByeException:
break
socket.close()