Я создал простой чат с использованием сокета в 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)
Как я уже сказал, я хочу перезагрузитьсодержимое страницы при получении новых сообщений из сокета.Как я могу это сделать ???