Не удается установить соединение с сервером сокетов

#node.js #express #socket.io

#node.js #экспресс #socket.io

Вопрос:

Я пытаюсь подключиться к серверу сокетов через порт 8080, но продолжаю получать эту ошибку Connection to IPAddress:8080 timed out! это мой серверный код

 const express = require("express");
var http = require('http').createServer(app);
var io = require('socket.io');
const socket = io(http);
http.listen(8080, () => {
    console.log(`Server is running on port ${PORT}.`);
});
  

как это решить, пожалуйста?

Комментарии:

1. Возможно, измените порт и попробуйте?

2. @susenj попробовал, но все еще проблема: «)

Ответ №1:

Вам нужно написать больше кода сокета, вы не можете подключиться к сокету напрямую, вам нужно написать функцию подключения

Следуйте этому руководству, чтобы узнать основы сокета

 var express = require('express');
var app = express();
var http = require('http').createServer(app);
var io = require('socket.io')(http);

var port =  8080; // set our port

app.get('/', function(req, res) {
   res.sendfile('index.html');
});

io.on("connection", function (socket) {
    // Everytime a client logs in, display a connected message
    console.log("Server-Client Connected!");

   socket.on('disconnect', function () {
      console.log('A user disconnected');
   });
});

http.listen(port, () => {
    console.log('Magic happens on port '   port); // shoutout to the user
});
  

index.html

 <!DOCTYPE html>
<html>
   <head>
      <title>Hello world</title>
   </head>
   <script src = "/socket.io/socket.io.js"></script>
   
   <script>
      var socket = io();
   </script>
   <body>Hello world</body>
</html>
  

после запуска проверки сервера localhost:8080

Комментарии:

1. это всего лишь основной раздел кода, в других разделах есть код, который вы пишете, основная проблема в том, что сокет отлично работает на моем компьютере, но на сервере истекло время ожидания