Не могу подключиться к wss с помощью std. js, но он работает с помощью скрипта signalrJquery

Программирование на jquery
Ответить
Anonymous
 Не могу подключиться к wss с помощью std. js, но он работает с помощью скрипта signalr

Сообщение Anonymous »

Привет, я сделал серверное приложение signalR. Простой wss-сервер. Если я вызываю его через signalR.js, я работаю нормально. Но если я попытаюсь вызвать его через std.js и плагин Postman wss, я получу соединение WebSocket с xxxxx. и мне нужно вызвать его из клиента, не являющегося браузером. Я получаю токен обратно:

Код: Выделить всё

{"Url":"/signalr/ChatHub","ConnectionToken":"AcOXMhpMcYlqJnPrE5QShYeCuODNI7Abv2c9utk5EJhGGVFxoSsFhj5WqJgk7IM2FqyvQ7oBcp03dGUSv+7ux6QeW+uaaV3NKqCDY53wOaNboI1pihJwIRy2CrQo3pm0","ConnectionId":"32720752-aa1d-4024-89b1-50297a76c39f","KeepAliveTimeout":20.0,"DisconnectTimeout":30.0,"ConnectionTimeout":110.0,"TryWebSockets":true,"ProtocolVersion":"1.5","TransportConnectTimeout":5.0,"LongPollDelay":0.0}
Скрипт, который работает:

Код: Выделить всё




$(function () {
var chat = $.connection.chatHub;
chat.client.broadcastMessage = function (Data) {
$('#discussion').append('[*][b]' + Data + '[/b]');
};
// Start the connection.
$.connection.hub.start().done(function () {
chat.server.send('@JsonValue');
});
});
Скрипт, который делает:

Код: Выделить всё



async function f() {
let URL = 'https://localhost:44399/signalr/ChatHub/negotiate?clientProtocol=1.5';
let negotiations = await $.get(URL);
let token = encodeURIComponent(negotiations.ConnectionToken);
return Promise.resolve(token)
}

f().then((token) => {
console.log(token)
let wssPath = "wss://localhost:44399/signalr/ChatHub? clientProtocol=1.5&transport=webSockets&connectionToken=" + token
try {
let ws = new WebSocket(wssPath);
}
catch (e) {
alert(e)
}
});

Что я делаю не так??

Подробнее здесь: https://stackoverflow.com/questions/765 ... alr-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»