【发布时间】:2021-07-10 23:02:35
【问题描述】:
document.addEventListener('DOMContentLoaded', () => {
var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port);
socket.on('message', data => {
const p = document.createElement('p');
const span_username = document.createElement('span');
const span_timestamp = document.createElement('span');
const br = document.createElement('br');
span_username.innerHTML = data.username;
span_timestamp.innerHTML = data.time_stamp;
p.innerHTML = span_username.outerHTML + br.outerHTML + data.msg
+ br.outerHTML + span_timestamp.outerHTML;
document.querySelector('#display-message-section').append(p);
});
// Send message
document.querySelector("#send_message").onclick = () => {
socket.send({'msg':document.querySelector('#user_message').value,
'username': username});
}
});
这是我的完整客户端。我想让它向所有用户显示所有已发送的消息,包括我自己。当我打开另一个选项卡然后输入内容时,第一种类型不会显示我的第二个选项卡发送的内容。它在服务器中发送,但在浏览器中不显示。
@socketio.on('message')
def message(data):
print(f"\n\n{data}\n\n")
send({'msg': data['msg'], 'username': data['username'], 'time_stamp':strftime('%b-%d %I:%M%p', localtime())})
这是我最小的服务器。
【问题讨论】:
标签: python browser server socket.io client