示例#1
0
文件: client.py 项目: ann884511/muke
    def _user_input(self):
        while True:
            text = input()

            self._send_msg(
                Message(Message.CHAT, who=self._user, text=text)
            )
示例#2
0
    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)
示例#3
0
文件: client.py 项目: ann884511/muke
    def _on_sign_in(self):
        user_id = input("使用者名稱:")
        passwd = input("      密碼:")

        self._send_msg(Message(
            Message.SIGN_IN,
            user_id=user_id,
            passwd=passwd
        ))
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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"))
示例#7
0
    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))
示例#8
0
 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)
示例#9
0
    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))