В настоящее время я создаю сервер веб-сокетов для мобильного интерфейса. и в некоторых случаях мне нужно отправить json только указанному пользователю c, и после нескольких попыток мне все еще не удалось заставить Websocket работать, поэтому я могу отправить json одному клиенту за раз.
Я использую эту библиотеку: github.com/websockets/ws
Чтобы объяснить мою проблему, у меня есть несколько продуктов, которые содержат несколько переменных, которые необходимо обновить в режиме реального времени. когда пользователь подключается к продукту, он получает только json этого продукта, а другие пользователи получают json других продуктов, на которых он работает. вот почему я хочу отправить спецификацию c json пользователю, чтобы включить эту
Я хотел бы знать, если кто-нибудь из вас знает, как решить проблему, так как я начинаю блокировать ее .
Большое спасибо.
const opp = new WebSocket.Server({port: 10001});
let user = 0;
let lookup = [];
opp.on('connection', function connection(op) {
lookup.push(op.id);
let id = "";
op.on('message', function incoming(message) {
console.log('received: %s', message);
id = message;
query = {
text: "SELECT id,state,users_list_name,user_win,timer_stamp FROM products WHERE id = " + parseInt(id) + " AND circle = 1 ORDER BY CASE WHEN state = \'available\' THEN \'1\' WHEN state = \'soon\' THEN \'2\' WHEN state = \'expired\' THEN \'3\' END",
};
});
client.connect();
const interval = setInterval(function ping() {
client.query(query, (err, res) => {
if (err) {
console.log(err.toString());
console.log(query);
} else {
console.log(lookup);
for (let i = 0; i < lookup.length; i++){
console.log("########################");
lookup[i].send(JSON.stringify(res.rows));
}
}
});
}, 300);
});```