Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

отправить сообщение с помощью WS

Роман Руссиян Ученик (86), закрыт 5 лет назад
Как отправить такое сообщение: 10/go,["get_data",null]

socket.send('10/go', { fin: false});
socket.send(["get_data",null] , {binary: true, fin: true});
не работает (
Лучший ответ
Остальные ответы
забань плиз Мыслитель (6203) 5 лет назад
JSON.stringify({key: 'value', key1: 'value1'}); <- где отправляете
JSON.parse(...) <- где получаете

... -ваша переменная.
Данила Летуновский Гуру (4582) 5 лет назад
я для этого всегда такой трюк делаю

let client = new WebSocket(location.origin.replace(/^http/, "ws"));
  client.send2 = client.send;
  client.send = function(s, ..args){ client.send2( JSON.stringify([s,...args]) ); }
  client.onmessage = function(e){ let s = JSON.parse(e.data); eval(s[0])(...s.slice(1)); }

client.send("съесть", "яблоко", {размер: "большое", цвет: "красное"});

// а на сервере
k.on("message", function(msg){ let s = JSON.parse(msg); eval(s[0])(...s.slice(1)); });

function съесть (фрукт, свойства) {
  console.log(свойства. размер, фрукт);
}
Похожие вопросы