socket.io的使用问题

在使用 Node http 服务器时,需要解决跨域问题
在server对应文件夹运行终端node index.js(index为自定义的名称)
index.js文件中(名称自定)
var io = require('socket.io')(app);
改为var io = require('socket.io')(app,{cors:true});
修改前:
修改后:
在这里插入图片描述
but

一般我们不会自己写一个服务器,所以,用express框架
安装

npm install --save express

同样要解决跨域问题

//var io = require('socket.io')(server);解决跨域问题
var io = require('socket.io')(server,{cors:true});

终端

node expressApp.js//名字自定

但实际,使用express的生成器,生成一个项目

express --view=ejs chatapp

报错
法将“express”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称 的拼写,如果包括路径,请确保路径正确,然后再试一次
使用 node 的 npm 安装了 express 框架后,并不会顺带着把 express 脚手架安装
安装“脚手架”

npm install express express-generator -g

再次运行

express --view=ejs chatapp

根据提示

cd chatapp
npm install

由于用npm下载突然出现卡死的现象,所以使用代理registry,在终端输入

npm config set registry https://registry.npm.taobao.org
npm install --save socket.io
npm start

由于出现报错TypeError: Cannot read property 'on' of undefined,所以在对应语句做了延迟,

setTimeout(()=>{
  //我加的
  let socketio=require('./socketio')
  //let socketio=require('./socketio');
  let io=socketio.io;
  io.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
      console.log(data);
    });
  });
},100)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值