używam ws
biblioteka.
Kod:
WebSocket = require("ws");
ws = new WebSocket("ws://echo.websocket.org");
ws.onopen = function() {
ws.send("Hello, world!");
};
ws.onmessage = function(msg) {
console.log("Message: " + msg.data);
};
ws.onerror = function(e) {
console.log(e);
};
ws.onclose = function() {
console.log("Closed");
};
Konsola zwraca:
{ [Error: getaddrinfo ENOTFOUND echo.websocket.org echo.websocket.org:80]
code: "ENOTFOUND",
errno: "ENOTFOUND",
syscall: "getaddrinfo",
hostname: "echo.websocket.org",
host: "echo.websocket.org",
port: 80,
type: "error",
target:
WebSocket {
domain: null,
_events:
{ open: [Object],
message: [Object],
error: [Object],
close: [Object] },
_eventsCount: 4,
_maxListeners: undefined,
_socket: null,
_ultron: null,
_closeReceived: false,
bytesReceived: 0,
readyState: 0,
supports: { binary: true },
extensions: {},
_isServer: false,
url: "ws://echo.websocket.org",
protocolVersion: 13 } }
Wczoraj zadziałało, ale dzisiaj to nie działa. Próbowałem przeinstalować Node.JS
i ws
, ale to nie pomogło. Jak mogę to naprawić?
Odpowiedzi:
0 dla odpowiedzi № 1Uciekłem cmd.exe
i ping echo.websocket.org
. Potem spróbowałem ponownie uruchomić skrypt. Nie wiem dlaczego, ale zadziałało. Prawdopodobnie jest to błąd z DNS Node.JS.