当建立私人频道後,下一步,便是将私人频道的讯息发往 server-side,透过 server 转给指定的使用者,所以同样是三个基本步骤。
抓取输入框的 DOM,监听输入讯息的动作,当送出时(即按下 Enter 事件),记录讯息的作者名,作者ID,讯息内容,接收方的ID。并且同样转给中介层。
// ui.js
const newMessageInput = document.getElementById(messageInputID);
newMessageInput.addEventListener('keydown', (e) => {
const key = e.key;
if (key === 'Enter') {
const author = store.getUserName();
const messageContent = e.target.value;
const receiverSocketId = peer.socketId;
const authorSocketId = store.getSocketId();
const data = {
author,
messageContent,
receiverSocketId,
authorSocketId,
};
socketHandler.sendDirectMessage(data);
newMessageInput.value = '';
}
});
中介层透过同一组 sendDirectMessage()
拿到资料後,一样透过 emit 发给 server-side。并且建立一组 socket(direct-message
)。
const sendDirectMessage = (data) => {
socket.emit('direct-message', data);
};
server-side 很单纯地透过 on()
达到监听的目的,并输出在 terminal 上。
socket.on('direct-message', (data) => {
console.log('direct-message', data);
});
由於 Open-Match 在 service 与 service 之间,是建议使用 gRPC 进行...
今天还是想想不到写啥,所以只能又来继续骗天数罗,今天就是会把原本笔记上面的东西,没有提到部分记录在这...
刚开赛就碰到连假,真是太可怕了。先来个轻松小单元压压惊 「突如奇来」说来有点惭愧,毕竟任何法规都会有...
一、视觉化为何如此重要 终於进入到视觉化的部分了!虽然现在有很多的绘图软件,但我认为初期用pytho...
因为心情太低落了,掉着泪看教学,我真的很认真的在学,但为什麽要被批评得一无是处。 也许在学技能的同时...