我正试图创建一个简单的聊天应用程序来应对挑战,并进一步学习JavaScript。
为此,我使用内置软件包net
来创建套接字服务器和客户端。
为简单起见,我有一个客户端,当它连接到服务器时,它会发送一个Stringify对象,并且希望我的服务器向当前连接的每个客户端发送一条消息。
这是我的消息的结构:
socket.write(JSON.stringify({
type: message type,
data: message data,
author: message author
}))
对不起,我的英语不好,谢谢所有阅读此书的人。
答案 0 :(得分:0)
您可以这样做。摘自ws github页面https://github.com/websockets/ws 有很多方法可以实现这一目标,但是在Node中,这可能是最好的解决方案。
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
// Broadcast to all.
wss.broadcast = function broadcast(data) {
wss.clients.forEach(function each(client) {
if (client.readyState === WebSocket.OPEN) {
client.send(data);
}
});
};
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(data) {
// Broadcast to everyone else.
wss.clients.forEach(function each(client) {
if (client !== ws && client.readyState === WebSocket.OPEN) {
client.send(data);
}
});
});
});