将服务器发送到NodeJS中的客户端数据

时间:2018-12-07 11:22:32

标签: node.js socket.io emit

我无法从服务器向客户端发送数据,我在console.log上未定义客户端js代码中的res变量。

这是我的服务器代码

const express = require('express')
const app = express()
const server = require('http').createServer(app)
const io = require('socket.io')(server)
const path = require('path')

// View
app.use(express.static(path.join(__dirname, '/view')))

// Homepage
app.get('/', function (req, res) {
  res.sendfile(path.join(__dirname + '/view/index.html'))
})

// Socket connection
io.on('connection', function(socket) {

  console.log('----------------------------')
  console.log('connected an user')
  console.log('----------------------------')

  socket.emit('connect', 'datax')

  socket.on('disconnect', function() {
    console.log('disconnected')
    console.log('----------------------------')
  })

})

// Server run
server.listen(3000)

这是我的客户代码

$(document).ready(function(){

  'use strict';

  var socket = io('http://localhost:3000');

  socket.on('connect', function(res) {

    console.log('connected');

    console.log(res);

  })
  .on('disconnect', function() {
    console.log('disconnect');
  });

});

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

检出插槽io备忘单。here。滚动到底部,您将看到有些保留字不能用于发出自定义事件。连接就是这样一个词。尝试发出其他事件,然后在客户端监听。