Чат в колбе - PullRequest
       3

Чат в колбе

0 голосов
/ 04 июня 2019

Я создал простой чат с использованием сокета в python, в клиентской части есть поток, который получает сообщения из сокета и печатает их на терминале, но я хочу показать их на странице html.Я добавил входящие сообщения в список и показал их в html, используя jinja2, но с перезагрузкой страницы они появились.Как я могу добавить их на html-страницу после их получения.

Получить поток:

while not self.__stop:
            try:
                ready, _, _ = select.select([self.soc,], [self.soc,], [], 5)
            except select.error:
                self.stop()
                return
            except ValueError:
                break
            if len(ready) > 0:
                incoming_data = b''
                try:
                    incoming_data = self.soc.recv(self.__BUFFER_SIZE) # TODO #3
                except ConnectionResetError:
                    log.error("Connection Reset Error")
                # Check if socket has been closed
                if incoming_data == b'':
                    log.info("Server disconnected.")
                    self.stop()
                else:
                    ip, port, msg = self.messageCallback(incoming_data)
                    if ip == "Server":
                        log.info("From Server: %s", msg)
                    else :
                        log.info("From <(%s, %s)> %s!", ip, port, msg)

Код фляги

@app.route('/<msg>/<other>', methods=['POST'])
def my_form_post(msg = None, other = False):
    if other:
        print("From Others")
        data.append(msg)
    else:
        print("From yourself")
        text = request.form['text']
        send_msg.append({"msg":text, "ip":"127.0.0.1", "other":False})
        data.append({"msg":text, "ip":"127.0.0.1", "other":False})
    tmp = [data[i] for i in range(len(data) - 1, -1, -1)]
    return render_template('GClient.html', data = tmp)


Как я уже сказал, я хочу перезагрузитьсодержимое страницы при получении новых сообщений из сокета.Как я могу это сделать ???

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...