最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何将SocketIO与其他路由器一起使用

IT培训 admin 3浏览 0评论

如何将SocketIO与其他路由器一起使用

我使用快速生成器创建NodeJS Express项目。我想使用SocketIO,但似乎设置错误。

const express = require('express');
const router = express.Router();
var http = require('http').Server(router);
var io = require('socket.io')(http);

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
    console.log('message: ' + msg);
  });
});

[客户端PUG文件]我用NPM安装了SocketIO,文件说我可以使用

<script src="/socket.io/socket.io.js"></script>

但是当我使用它时似乎没有工作,所以我只在客户端使用CDN版本的socketIO。

script(src=".io/2.2.0/socket.io.js")

这是我的客户端JS代码

$(function () {
    var socket = io();
    $('form').submit(function(e){
      e.preventDefault(); // prevents page reloading
      socket.emit('chat message', $('#m').val());
      $('#m').val('');
      return false;
    });
  });

我从服务器控制台和客户端控制台收到一些错误消息

[服务器端错误]

[客户端错误]

我认为这是服务器端代码的问题,初始代码与路由器有关。因为所有示例代码都是这样的

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
回答如下:

你是对的,试试我的榜样

var app = require('express')();
const router = express.Router();
app.use('/', router); // attach the router to express app
var http = require('http').Server(app);
var io = require('socket.io')(http);

如何将SocketIO与其他路由器一起使用

我使用快速生成器创建NodeJS Express项目。我想使用SocketIO,但似乎设置错误。

const express = require('express');
const router = express.Router();
var http = require('http').Server(router);
var io = require('socket.io')(http);

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
    console.log('message: ' + msg);
  });
});

[客户端PUG文件]我用NPM安装了SocketIO,文件说我可以使用

<script src="/socket.io/socket.io.js"></script>

但是当我使用它时似乎没有工作,所以我只在客户端使用CDN版本的socketIO。

script(src=".io/2.2.0/socket.io.js")

这是我的客户端JS代码

$(function () {
    var socket = io();
    $('form').submit(function(e){
      e.preventDefault(); // prevents page reloading
      socket.emit('chat message', $('#m').val());
      $('#m').val('');
      return false;
    });
  });

我从服务器控制台和客户端控制台收到一些错误消息

[服务器端错误]

[客户端错误]

我认为这是服务器端代码的问题,初始代码与路由器有关。因为所有示例代码都是这样的

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
回答如下:

你是对的,试试我的榜样

var app = require('express')();
const router = express.Router();
app.use('/', router); // attach the router to express app
var http = require('http').Server(app);
var io = require('socket.io')(http);
发布评论

评论列表 (0)

  1. 暂无评论