Я пытаюсь реализовать autobahn 0.9.5 strong> в моем проекте SPA с использованием DurandalJS.
var ab = require('autobahn');
live = new ab.Connection(
{
url: 'ws://localhost:8080',
realm: 'realm1'
});
live.onopen = function(session, details)
{
console.log('Autobahn open successfully!', session);
};
live.onclose = function(reason, details)
{
console.log('Autobahn connection lost', reason + ' - ' + details);
};
live.open();
я получил сообщение об ошибке в браузере Firefox и Chrome
Fire Fox:
InvalidAccessError: A parameter or an operation is not supported by the underlying object
websocket.close(code, reason);
Хром:
WebSocket connection to 'ws://localhost:8080/' failed: Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received
Я понятия не имею, что произошло..
ПРЕЖДЕ ЧЕМ Я НАЧАЛ – автобан 0.9.5
Я написал простой тест на test.html, чтобы убедиться, что все настройки в бэкенде правильные.
Но в этом тесте я в настоящее время использовал autobahn 0.8.2.
test.html
<script src="http://autobahn.s3.amazonaws.com/js/autobahn.min.js"></script>
<script>
var conn = new ab.Session(
// Websocket host
'ws://localhost:8080',
// Callback on connection established
function() {
// Once connect, subscribe to channel
conn.subscribe('3', function(topic, data) {
console.log(topic, data);
});
},
// Callback on connection close
function() {
console.warn('WebSocket connection closed');
},
// Additional AB parameters
{'skipSubprotocolCheck': true}
);
</script>
Этот тест отлично работает, как мне нужно, но после того, как я попытаюсь реализовать его в реальном проекте, я не могу загрузить autobahn 0.8.2 с помощью requireJS, он продолжает выдавать мне ошибку < em>ab не определено.
Я не совсем понимаю, что происходит, согласно начало работы автобана, это должно работать.
и вот как я определяю это на main.js (требуются пути и конфигурация прокладки)
requirejs.config({
paths: {
'autobahn' : 'https://autobahn.s3.amazonaws.com/autobahnjs/latest/autobahn.min',
'when' : 'https://cdnjs.cloudflare.com/ajax/libs/when/2.7.1/when'
},
shim: {
'autobahn': {
deps: ['when']
}
}
});
Надеюсь, кто-нибудь может мне помочь, я действительно люблю, чтобы это работало!
Любая помощь будет оценена! Спасибо