def _user_input(self): while True: text = input() self._send_msg( Message(Message.CHAT, who=self._user, text=text) )
def switch_lights(self, position: leds.Position = leds.Position.FRONT, action: leds.Action = leds.Action.LIGHT, mode: leds.Mode = leds.Mode.NORMAL): message = Message(Detail.LEDS, position, action, mode) self.client.send(message)
def _on_sign_in(self): user_id = input("使用者名稱:") passwd = input(" 密碼:") self._send_msg(Message( Message.SIGN_IN, user_id=user_id, passwd=passwd ))
def turn(self, action: motor.Action = motor.Action.RIGHT, mode: motor.Mode = motor.Mode.NORMAL): message = Message(detail=Detail.MOTOR, position=motor.Position.STEERING, action=action, mode=mode) self.client.send(message)
def accelerate(self, action: motor.Action = motor.Action.FORWARD, mode: motor.Mode = motor.Mode.NORMAL): message = Message(detail=Detail.MOTOR, position=motor.Position.ACCELERATOR, action=action, mode=mode) self.client.send(message)
def _on_sign_in(self, guest, **kwargs): LogCat.log(f"id: {kwargs['user_id']} passwd {kwargs['passwd']}") print(f"id: {kwargs['user_id']} passwd {kwargs['passwd']}") guest.set_user(kwargs["user_id"]) guest.send_msg( Message(Message.WELCOME, who="MUTE", guest=kwargs["user_id"], text="welcome"))
def on_socket(self, server_socket, mask): connection, address = server_socket.accept() # Should be ready to read print(f"Connected by: {address}") connection.setblocking(False) mask = selectors.EVENT_READ | selectors.EVENT_WRITE guest = Guest() self._multiplexer.register(connection, mask, guest) self._guests.append(guest) guest.send_msg( Message(Message.SYSTEM, who="MUTE", text=f"歡迎來到 MUTE: Multi-User Texting Environment")) guest.send_msg(Message(Message.SIGN_IN))
def input(self, data, recv): """ 数据流入MessageChannel :param data 上个channel来的数据 :param recv 为False时表明不是server接收的 :return """ if recv: message = Message.parse(data, self.client) else: message = data if message: return self.next.input(message, recv)
def _on_msg_chat(self, from_who, who, text): LogCat.log(f"_on_msg_chat: from- {from_who} who- {who} text- {text}") for guest in self._guests: guest.send_msg(Message(Message.CHAT, who=who, text=text))