Я пытаюсь создать что-то вроде чата, используя nodejs. Я новичок в nodejs и хочу создать его без socket.io (я хочу узнать, как это работает). Вот код, который я использую.
var http = require('http');
var net = require('net');
var server = http.createServer(function(req,res){
res.writeHead(200,{'content-type' : 'text/html'});
res.write('<a href="./lol/">lol</a><br>');
res.end('hello world: '+req.url);
var client = new net.Socket();
client.connect('7001', '127.0.0.1', function() {
console.log('CONNECTED TO: ');
// Write a message to the socket as soon as the client is connected, the server will receive it as message from the client
client.write('I am Chuck Norris!');
});
// Add a 'data' event handler for the client socket
// data is what the server sent to this socket
client.on('data', function(data) {
console.log('DATA: ' + data);
// Close the client socket completely
client.destroy();
});
// Add a 'close' event handler for the client socket
client.on('close', function() {
console.log('Connection closed');
});
//req.
});
server.listen(7000);
require('net').createServer(function (socket) {
console.log("connected");
socket.on('data', function (data) {
console.log(data.toString());
});
}).listen(7001);
И все работает отлично, (я думаю). Когда я открываю localhost: 7000, я получаю в узле сообщения CMD о "CONNECTED TO:" и "connected" и "I Chack Norris". После этого я пытаюсь написать в консоли браузера:
var conn = new WebSocket('ws://localhost:7001/');
Также нет ошибок, но когда я пытаюсь эту строку:
conn.send('lol');
Я получаю сообщение об ошибке: "Uncaught DOMException: не удалось выполнить" send "на" WebSocket ": все еще в состоянии CONNECTING. (…)"
И через некоторое время я получаю еще одну ошибку: "Не удалось установить соединение WebSocket с" ws://localhost: 7001/": истекло время ожидания открытия WebSocket"
возможно, этот код неверен, но я перепробовал все, что нашел через гугл. Может кто-то помочь мне с этим?