У меня есть API в C # (asp.net), в котором я использую этот сервер веб-сокетов, используя fleck:
SocketService.start();
SocketService.server.Start(socket =>
{
socket.OnOpen = () =>
{
SocketService.Connessione(socket);
};
socket.OnClose = () =>
{
SocketService.Disconnesione(socket);
};
socket.OnMessage = message =>
{
SocketService.Messaggio(message, socket);
};
});
Это SocketService.Start ():
public static void start()
{
server = new WebSocketServer($"wss://{GetLocalIPAddress()}:{"4450"}/BNS/");
}
Я пытался с простой страницей HTML / JS, используя небезопасный ws, и она работала нормально.
Затем я попытался в своей основной программе запустить ее по протоколу HTTPS, поэтому при использовании небезопасного ws-хрома мне сказали вместо этого использовать wss.
Так что я меняю свой ws-сервер на wss, но тогда он ничего не делает, он выдает ошибку тайм-аута.
Это код JS:
var start = function () {
var wsImpl = window.WebSocket || window.MozWebSocket;
var form = document.getElementById('sendForm');
var input = document.getElementById('sendText');
alert("Connessione...");
// create a new websocket and connect
window.ws = new wsImpl('@Percorsi.IndirizzoSocket');
alert("conn");
// when the connection is established, this method is called
ws.onopen = function () {
alert("Connessione aperta");
var openJson = {
"Id": "@Model.accountCorrente.Id",
"type": "Identificazione"
};
alert("send");
ws.send(stringify(openJson));
};
// when the connection is closed, this method is called
ws.onclose = function () {
alert("Connessione chiusa");
}
// when data is comming from the server, this metod is called
ws.onmessage = function (val) {
if (confirm("Hai ricevuto un nuovo messaggio!\nPremi ok per visualizzarlo.")) {
window.location("/Annunci/Chat/" + val);
} else { }
};
}
Я не могу понять, как заставить это работать.
Заранее спасибо за помощь!