def setup_multiplayer_connection(self, is_server: bool = None): if is_server != None: self.multi_palyer_connection = Connection() if is_server: self.multi_palyer_connection.serve("localhost", 8080) self.multi_palyer_connection.wait_client_thread.join() else: self.multi_palyer_connection.connect("localhost", 8080) self.user_tile_type = TileState.O self.multi_palyer_connection.recive_listener = self.multiplayer_event
def main(character, config): renderer = Renderer(config['Renderer']) conn = Connection(config['Network']) proxy = MessageProxy(conn) input_mgr = InputManager() res_mgr = ResourceManager(config['Game']) audio_mgr = AudioManager(config['Sound']) client = Client( character, renderer, proxy, input_mgr, res_mgr, audio_mgr, config) client.start()
def __init__(self, remote_port=8000, remote_address="127.0.0.1", local_port=9000, local_address="127.0.0.1", run_local=False, logging=False, callbacks={}, **kwargs): self.connection = Connection(ip=remote_address, port=remote_port, callbacks=callbacks, client_id=0) self.dataBuffer = [] self.logging = logging self.callbacks = callbacks
def login(self, character_name, password): # Connect self._conn = Connection() self._conn.connect() # Send login packet login_packet = OutgoingPacket() login_packet.add_u8(0x0A) login_packet.add_u8(0) login_packet.add_u8(0) login_packet.add_u16(0) login_packet.add_u8(0) login_packet.add_string(character_name) login_packet.add_string(password) self._conn.send_packet(login_packet) # Receive login response while True: packet = self._conn.recv_packet() if packet: break time.sleep(0.1) packet_type = packet.get_u8() if packet_type == 0x14: error_message = packet.get_string() print("login: could not login: \"{}\"".format(error_message)) self._conn.close() self._conn = None return False elif packet_type == 0x0A: self._parse_login_packet(packet) return True else: print("login: unknown packet type: {}".format(packet_type)) self._conn.close() self._conn = None return False
def __init__(self, id, port, ids, ports, on_request, on_release, logger=None): """ :param id: self id :param port: self port :param ids: ids of other processes :param ports: ports of other processes :param on_request: callback function :param on_release: callback function """ self.__number_of_processes = len(ids) self.ids = ids self.on_request = on_request self.on_release = on_release self.logger = logger self.connection = Connection(id, port, ids, ports, self.on_response, logger)
''' The main entrance of the program ''' import time from logger import Logger from network import Connection from sonic import UltraSonic SONIC = UltraSonic() LOGGER = Logger() CONNECTION = Connection() def main(working_time): ''' main function to SmartBin to work :param working_time: :return: status ''' while working_time > 0: command, dist = 'measure', SONIC.middle_value() LOGGER.write(command, dist) # logger.write(CONNECTION.send_data(dist)) time.sleep(10) working_time -= 10 if __name__ == '__main__': main(40)