Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.02.2017, 21:02
Интересующийся
Отправить личное сообщение для zippel Посмотреть профиль Найти все сообщения от zippel
 
Регистрация: 02.05.2016
Сообщений: 12

Не могу понять как передать запрос по 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 в 22:21.
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2017, 21:40
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от zippel Посмотреть сообщение
как сделать WAMP
Что за WAMP?
Ответить с цитированием
  #3 (permalink)  
Старый 18.02.2017, 21:53
Интересующийся
Отправить личное сообщение для zippel Посмотреть профиль Найти все сообщения от zippel
 
Регистрация: 02.05.2016
Сообщений: 12

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


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

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

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

Последний раз редактировалось zippel, 18.02.2017 в 21:57.
Ответить с цитированием
  #4 (permalink)  
Старый 18.02.2017, 21:59
Интересующийся
Отправить личное сообщение для zippel Посмотреть профиль Найти все сообщения от zippel
 
Регистрация: 02.05.2016
Сообщений: 12

Есть еще AngularWAMP, rx.wamp, wampy.js Мне без разницы, главное помогите поднять wss соединение.
Ответить с цитированием
  #5 (permalink)  
Старый 18.02.2017, 22:54
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

zippel, так читай документацию по нужному фреймворку - интерфейсы же разные, POST запрос - это HTTP, а не WS - учи основы.
Ответить с цитированием
  #6 (permalink)  
Старый 18.02.2017, 22:59
Интересующийся
Отправить личное сообщение для zippel Посмотреть профиль Найти все сообщения от zippel
 
Регистрация: 02.05.2016
Сообщений: 12

Понимаю, но для меня такая инфа сложная.. Если было бы с чего начать. По сути даже примеров нет.
Ответить с цитированием
  #7 (permalink)  
Старый 18.02.2017, 23:01
Интересующийся
Отправить личное сообщение для zippel Посмотреть профиль Найти все сообщения от zippel
 
Регистрация: 02.05.2016
Сообщений: 12

Ааа т.е. я понял, надо после воркер в ws запросе ничего не писать, а заголовки и всё прочее формируется в connection.onopen?
Ответить с цитированием
  #8 (permalink)  
Старый 18.02.2017, 23:25
Интересующийся
Отправить личное сообщение для zippel Посмотреть профиль Найти все сообщения от zippel
 
Регистрация: 02.05.2016
Сообщений: 12

Всё, я нашел что искал. Спс.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как используя оператор if сделать автоматическую подстройку цветовых свойств? Macklewis Общие вопросы Javascript 1 16.12.2014 19:46
Как сделать такую страницу mortido Элементы интерфейса 11 02.10.2014 07:20
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Как сделать такое fancy menu uonax Элементы интерфейса 2 22.05.2010 12:52
Не могу понять как работает jQuery kostiaGt jQuery 2 20.07.2008 08:42