-
Notifications
You must be signed in to change notification settings - Fork 10.2k
Server does not attach the req handlers #3266
Copy link
Copy link
Closed
Description
You want to:
- report a bug
Current behaviour
Creating a server as described in the sourcecode results in server that does not work.
Expected behaviour
Either the server should work or report an error. This is really frustrating, I spent hours figuring out why doesn't it work.
Setup
- OS:
- browser:
- socket.io version:
Code
const socketioclient = require("socket.io-client");
const io = require("socket.io");
const net = require("net");
const http_server = net.createServer();
// this didn't work too. Exxentially socket io does not work at all
// io = io.listen(typeof port == "number" ? port : process.env.PORT);
console.log("Attaching socket IO to HTTP server.");
const ioserv = io(http_server);
/// The port does open
http_server.listen(typeof port == "number" ? port : process.env.PORT,
() => {
console.log('IO HTTP server listening on port', http_server.address().port)
});
/// The connection listener is triggered, but IO doesn't bother
/// replying or something
http_server.on("connection", (req, res) => {
console.log("Connection received, but IO ignores it.")
});
ioserv.on("connection", (socket) => {
console.log("[SERVER] Client connected!");
client.emit("chat", "Bye!");
client.on("bye", () => {
console.log("[SERVER] Client goodbye'd us. Closing server.");
client.disconnect();
server.close();
})
});
ioserv.on("error", () => {
console.error("[SERVER] IO Error!")
})
const client = socketioclient("http://127.0.0.1:" + process.env.PORT);
client.once("connect", () => {
console.log("[CLIENT] Connected to remote server.")
});
client.on("chat", (msg) => {
console.log("[CLIENT] Server sends message:", msg);
if (msg.toLowerCase().indexOf("bye") != -1) {
client.emit("bye");
}
});
client.on("disconnected", () => {
console.log("[CLIENT] Disconnected.");
})
client.on("error", () => {
console.error("[CLIENT] Socket IO connection error.")
});
Console output
Notice that this is missing in the output: socket.io:server attaching client serving req handler +0ms
Attaching socket IO to HTTP server.
socket.io:server initializing namespace / +0ms
socket.io-parser encoding packet {"type":0,"nsp":"/"} +0ms
socket.io-parser encoded {"type":0,"nsp":"/"} as 0 +1ms
socket.io:server creating engine.io instance with opts {"path":"/socket.io","initialPacket":["0"]} +3ms
socket.io:server attaching client serving req handler +1ms
socket.io-client:url parse http://127.0.0.1:80 +0ms
socket.io-client new io instance for http://127.0.0.1:80 +0ms
socket.io-client:manager readyState closed +0ms
socket.io-client:manager opening http://127.0.0.1:80 +1ms
engine.io-client:socket creating transport "polling" +0ms
engine.io-client:polling polling +0ms
engine.io-client:polling-xhr xhr poll +0ms
engine.io-client:polling-xhr xhr open GET: http://127.0.0.1/socket.io/?EIO=3&transport=polling&t=MEwptSw&b64=1 +1ms
engine.io-client:polling-xhr xhr data null +1ms
engine.io-client:socket setting transport polling +8ms
socket.io-client:manager connect attempt will timeout after 20000 +10ms
socket.io-client:manager readyState opening +1ms
IO HTTP server listening on port 80
Connection received, but IO ignores it.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels