一、koa结合socket.io

后端代码:

// 引入依赖
const koa = require("koa");
// 初始化koa
const app = new koa();
// 开启 http
var server = require("http").createServer(app.callback());
// 初始化 socket
const io = require("socket.io")(server, { cors: true });
// 监听
io.on("connection", (socket) => {console.log("有人链接");//接收数据socket.on('send', function (data) {console.log(data);// 发送数据socket.emit('resend', {msg: `你好${data.msg}`,code: 200});});
});
server.listen(3000);

前端代码:

<template><div class="hello"><input type="text" v-model="msg"><button @click="sendMsg">发送</button></div>
</template><script>
import io from 'socket.io-client'
export default {name: 'HelloWorld',data () {return {msg: 'Welcome to Your Vue.js App'}},mounted () {const socket = io('ws://localhost:3000')this.socket = socketwindow.socket = socketsocket.on('connect', function () {console.log('连接建立成功了!')})socket.on('disconnect', function () {console.log('断开连接了')})socket.on('resend', function (data) {console.log(data)})},methods: {sendMsg () {// 发送信息给服务端this.socket.emit('send', {msg: this.msg})}}
}
</script>
<style scoped></style>


二、express 结合 socket.io

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http, { cors: true });app.get('/', function(req, res){res.send('<h1>你好web秀</h1>');
});io.on('connection',function(socket) {console.log("有人链接");//接收数据socket.on('send', function (data) {console.log(data);// 发送数据socket.emit('resend', {msg: `你好${data.msg}`,code: 200});});
});http.listen(3000, function(){console.log('listening on *:3000');
});

前端代码:

<template><div class="hello"><input type="text" v-model="msg"><button @click="sendMsg">发送</button></div>
</template><script>
import io from 'socket.io-client'
export default {name: 'HelloWorld',data () {return {msg: 'Welcome to Your Vue.js App'}},mounted () {const socket = io('ws://localhost:3000')this.socket = socketwindow.socket = socketsocket.on('connect', function () {console.log('连接建立成功了!')})socket.on('disconnect', function () {console.log('断开连接了')})socket.on('resend', function (data) {console.log(data)})},methods: {sendMsg () {// 发送信息给服务端this.socket.emit('send', {msg: this.msg})}}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped></style>



注意:
如果出现跨域报错,可以参考以下解决方案:

  1. 重装socket.io-client
npm i socket.io-client --save
  1. 在vue中使用

socket.io跨域踩坑相关推荐

  1. vue3下的uniapp跨域踩坑

    uniapp vue3 H5跨域踩坑 开发移动端H5的时候由于后端接口没有做跨域处理,因此需要做下服务器代理,于是百度搜索了uniapp下h5的跨域配置 在manifest下的h5配置proxy,大概 ...

  2. html2canvas跨域踩坑日常

    这两天接到公司的指令做海报图分享 然后尝试使用html2canvas+uview+uniapp进行编写 踩坑如下 html2canvas跨域问题 我司使用的是oss云存储,起初发生跨域以为是本地原因导 ...

  3. uc浏览器请求被拦截报跨域踩坑记录

    记录下开发时uc浏览器请求被拦截时遇到的问题 请求在uc浏览器出现跨域问题 app使用uniapp开发,使用plus.runtime.launchApplication来打开并跳转指定页面,并在Xco ...

  4. 【vue axios 跨域】cookie、origin等一步步递进的跨域踩坑 已解决

    前后端对接必出bug,最近连续对接了两个项目,对解决跨域有点感觉了,跟大家分享一下经验,都是血的教训- 两个项目都是Springboot+Vue(axios网络请求).本人主要负责前端,所以前端会分享 ...

  5. iframe子页面ajax报错,iframe跨域踩坑

    前言 工做中,有些系统是利用的iframe.有一次忽然遇到了一个使人费解的跨域报错,没有发请求,却报了"Error:Blocked a frame with origin...from ac ...

  6. vue-socket.io跨域问题的解决方法

    vue-socket.io跨域问题的解决方法 参考文章: (1)vue-socket.io跨域问题的解决方法 (2)https://www.cnblogs.com/zhengze/p/12294916 ...

  7. Elasticserch 5.6到Elasticsearch7.11跨版本升级踩坑记录

    Elasticserch 5.6到Elasticsearch7.11跨版本升级踩坑记录 1.背景 公司老的业务使用的是Elasticsearch5.6版本,使用的客户端是TransportClient ...

  8. vue2.0下axios实现跨域踩的坑

    按踩坑顺序叙述.本人对http了解太少,所以坑踩得较多. 1.开始进行跨域时,知道vue2.0官方推荐axios进行ajax请求,大致看一下https://www.npmjs.com/package/ ...

  9. Ajax请求,跨域小坑

    今天在上班的时候,被坐在旁边项目经理叫过去问了一个Ajax请求跨域的问题,一开始没理解清楚也还有对这个没有理解的透,后面被打击的要死. 当时的需求是需要测试一个已发布的api接口,需要在本地写测试程序 ...

最新文章

  1. VS2010 CUDA 5.5 Win7 64位配置以及项目创建配置
  2. 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11
  3. linux c 创建子进程执行任务 简介
  4. Java设计模式(十六):生成器设计模式
  5. CentOS 7配置LNMP开发环境及配置文件管理详解
  6. chrome web获取mac地址_老鬼傻瓜式讲解网络知识:网络设备如何通过IP地址获取设备MAC地址...
  7. jstat -gcutil 输出结果分析_JVM故障分析
  8. activity的启动窗口
  9. 计算机地址码特点,电脑摇头灯的地址码的设定问题你必须要注意的
  10. Visual Studio 2017迎来F# 4.1
  11. win 10配置安装iis
  12. 分页的limit_Presto分页功能概述
  13. 教育院校公共机房虚拟桌面解决方案
  14. 『杭电1891』Tough Water Level
  15. BI_DBA_安装(3):安装informatic
  16. 腾讯云学生服务器更换系统,腾讯云学生轻量服务器免费升配攻略(60G SSD系统盘不支持升级)...
  17. 淘宝用户行为数据挖掘-python
  18. 强化学习: 贝尔曼方程与马尔可夫决策过程
  19. Android app后台运行休眠仍然可以运行的方法(确保一直运行)
  20. 零基础实现摄像头的全平台直播 (一)内网直播的实现

热门文章

  1. 闪光css,CSS实现的一闪而过的图片闪光效果
  2. 清华大学《操作系统》(七):虚拟存储、覆盖、交换
  3. tornado学习笔记day02-进阶与提升
  4. python中tkinter的使用-中
  5. Hive2.1.1的安装教程(元数据放在本地Mysql)
  6. python2编码_Python2字符编码
  7. vux 混合式开发
  8. Linux 安装配置JDK 、 MySQL 、nginx
  9. Migrate Instance 操作详解 - 每天5分钟玩转 OpenStack(40)
  10. unlink(file_name)