contacts_form.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:network-pj-chatroom 作者: KevinWang15 项目源码 文件源码
def socket_listener(self, data):
        if data['type'] == MessageType.login_bundle:
            bundle = data['parameters']
            friends = bundle['friends']
            rooms = bundle['rooms']
            messages = bundle['messages']
            for friend in friends:
                self.handle_new_contact(friend)
            for room in rooms:
                self.handle_new_contact(room)
            for item in messages:
                # [[data:bytes,sent:int]]
                sent = item[1]
                message = _deserialize_any(item[0])
                client.util.socket_listener.digest_message(message, not sent)

            self.bundle_process_done = True
            self.refresh_contacts()

        if data['type'] == MessageType.incoming_friend_request:
            result = messagebox.askyesnocancel("????", data['parameters']['nickname'] + "?????????????(?Cancel??????)");
            if result == None:
                return
            self.sc.send(MessageType.resolve_friend_request, [data['parameters']['id'], result])

        if data['type'] == MessageType.contact_info:
            self.handle_new_contact(data['parameters'])
            return

        if data['type'] == MessageType.add_friend_result:
            if data['parameters'][0]:
                messagebox.showinfo('????', '???????')
            else:
                messagebox.showerror('??????', data['parameters'][1])
            return

        if data['type'] == MessageType.friend_on_off_line:
            friend_user_id = data['parameters'][1]

            for i in range(0, len(self.contacts)):
                if self.contacts[i]['id'] == friend_user_id and self.contacts[i]['type'] == 0:
                    self.contacts[i]['online'] = data['parameters'][0]
                    break

            self.refresh_contacts()
            return
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号