Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Не могу понять как сделать WAMP на autobahn используя Node.js (https://javascript.ru/forum/node-js-io-js/67464-ne-mogu-ponyat-kak-sdelat-wamp-na-autobahn-ispolzuya-node-js.html)

zippel 18.02.2017 21:02

Не могу понять как передать запрос по WAMP протоколу используя autobahn на Node.js
 
Node.js v6.9.5
Installed npms: AutobahnJS, crypto-js


В общем задача: по wss установить сессию:

1). В каждом POST запросе должен быть int параметр nonce, который всегда больше своего предыдущего брата. Ну вы понимаете зачем.. И еще один параметр command "action"

2). Так же в каждом запросе должны присутствовать заголовки(хедера) key и Sign. К тому же Sign эта хеш, полученный в результате кодировки значения параметра command, который в теле POST запроса, ключом "secret" по алгоритму HMAC-SHA512.

Буду просто очень благодарен за помощь, ибо сам нисеку в node ваще, но очень сочно надо и прям занялся. Но.. вот такая вот проблемо. Хотя кое что я смог. Установить сессию без этих параметров, но на обычный wss адрес. Не тот который мне нужен. Тот который мне нужен, на нем я не могу установить соединение :*

Пример как это должно работать.
// в принципе я не уверен только в том правильно ли шифрую хеш
// и не могу понять почему curdata() возвращает всегда одно и тоже число, когда выполняется connection.open()

var autobahn = require('autobahn');

const crypto = require('crypto');
const hash = crypto.createHmac("sha512", "secret");

var post_request = 'getInfo';
var wsuri = "wss://adress/worker?key=somekey" + "&command=" + post_request + "&sign=" + hash.digest(post_request) + "&nonce=" + curdata();

var connection = new autobahn.Connection({
	url: wsuri,
	realm: "realm1"
});

connection.onopen = function (session) {
	console.log("Websocket connection, good job..");
}

connection.onclose = function () {
	console.log("Websocket connection closed");
}

connection.open();

function curdata() {
	return Date.now();
}

zippel 18.02.2017 21:53

Цитата:

Сообщение от Rise (Сообщение 444696)
Что за WAMP?

Сорян. Забыл исправить заголовок. Перефразировал.
Не могу понять как передать запрос по WAMP протоколу используя autobahn на Node.js


По сути поста там же всё понятно.. или что? Вам не знакомо такое.. оооо.
Тогда блин, все печально. Лучший сайт рунета по JS и такие вопросы :-?

Wamp работает поверх WebSocket.

Подымаем TCP и по нему гоняем данные между клиентом и сервером, в режиме real time, JS на такое не способен, постановка задачи простая. Я бы даже сказал базовая. Мне главное начать, дальше я сам..

zippel 18.02.2017 21:59

Есть еще AngularWAMP, rx.wamp, wampy.js Мне без разницы, главное помогите поднять wss соединение.

zippel 18.02.2017 22:59

Понимаю, но для меня такая инфа сложная.. Если было бы с чего начать. По сути даже примеров нет.

zippel 18.02.2017 23:01

Ааа т.е. я понял, надо после воркер в ws запросе ничего не писать, а заголовки и всё прочее формируется в connection.onopen?

zippel 18.02.2017 23:25

Всё, я нашел что искал. Спс.


Часовой пояс GMT +3, время: 03:43.