NodeJS 套接字连接不起作用

NodeJS socket connection not working

本文关键字:不起作用 连接 套接字 NodeJS      更新时间:2023-09-26

我正在尝试使用 Socket.io 创建一个实时网络聊天系统,但我也将其与LAMP堆栈一起使用。目前,我只是想让我的 HTML 页面识别 localhost:8888 上的连接,但是当有人连接时,localhost:3000 上的服务器端应该是控制台记录以下内容,但我什么也得不到?

我的服务器端有这个 -

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
http.listen(3000, function(){
  console.log('listening on *:3000');
});

这是我的客户端——

  <script src="http://localhost:3000/socket.io/socket.io.js"></script>
  <script>
  var socket = io.connect('localhost:3000');
    socket.on('connection', function(io){
      console.log('a user connected');
      io.on('disconnect', function(){
        console.log('user disconnected');
      });
    });               

  </script>     

我没有看到任何控制台日志?我说错了还是

在客户端连接事件上称为"连接"。例如,您已将客户端侦听器从 socke.io 移动到服务器,但客户端和服务器的事件不同,更多:http://socket.io/docs/client-api/

<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script>
  var socket = io('http://localhost:3000');
  socket.on('connect', function(){
    console.log('a user connected');
  });
  socket.on('disconnect', function(){
    console.log('user disconnected');
  }); 
</script>

您需要在服务器上具有代码才能侦听连接。

io.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
        console.log(data);
    });
});

有关详细信息,请参阅文档 http://socket.io/docs/