Witam, mam problem z uzyskaniem połączenia WebSocket poprzez przeglądarkę.

JS:
const socket = new WebSocket('ws://localhost:1234');
socket.onopen = function(evt) {
alert('Connected.');
};
socket.onclose = function(evt) {
alert('Disconnected.');
};
socket.onmessage = function(evt) {
alert(evt.value);
};
socket.onerror = function(evt) {
alert('Error.');
};
function send() {
var txt = document.getElementyById('txt');
var val = txt.value;
socket.send(val);
};
HTML:
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8"/>
<title>Client</title>
<script src="websocket.js"></script>
</head>
<body>
Message:<input type="text" id="txt"/>
<button onClick="send();">Send</button>
</body>
</html>
Jakie warunki muszę dokładnie spełnić aby nawiązać to połącznie ? Potrzebuje jakiegoś serwera WebSocket ?
Czytałem, że Chrome blokuje połączenia po localhost bez certyfikatu SSL.
Czy może być to spowodowane dostawcą mojego internetu ?