websocket聊天室怎么设置(基于websocket实现简单聊天室对话)
类别:编程学习 浏览量:1954
时间:2021-10-15 00:05:06 websocket聊天室怎么设置
基于websocket实现简单聊天室对话本文实例为大家分享了websocket实现简单聊天室对话的具体代码,供大家参考,具体内容如下
首先搭建一个node的环境,在app.js中写入以下代码
npm install socket.io-client
socket是一个高性能的服务器框架,开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、聊天室服务器、手机游戏服务器等。
npm install http-server
一般提供server服务,参数可以指定端口、地址等等,例如指定服务在8888端口启动,命令为:http-server src -p 8888
npm install koa
Koa 通过 node.js 实现了一个十分具有表现力的 HTTP 中间件框架,力求让 Web 应用开发和 API 使用更加地愉快。Koa的中间件之间按照编码顺序在栈内依次执行,允许您执行操作并向下传递请求(downstream),之后过滤并逆序返回响应(upstream)。
实现代码
// 引入依赖 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) => { // 主动向客户端发消息 setTimeout(() => { // 通过io对象方法emit 触发一个自定义事件 并且向客户端发送消息 io.emit('chat message', '想说点什么?') }, 1000) socket.on('disconnect', () => { console.log('user disconnected') }) // 在服务器收到客户端的消息 // 通过on方法监听事件 当客户端发送消息时会触发该事件 并且可以接受客户端发来的消息 socket.on('chat message', (msg) => { console.log(msg) // msg为客户端发来的消息 // 发消息给客户端是emit setTimeout(() => { msg = msg.replace("你", "我").replace("吗", "").replace("?", "!") // 触发事件 将处理之后的消息信息发送给客户端 io.emit('chat message', msg) }, 500) }) }) server.listen(5522,()=>{ console.log('socket服务已开启,端口号为5522') });
调用这个服务
import { io } from 'socket.io-client' cteated(){ // 1.创建连接 可以自定义 this.socket = io('ws://localhost:5522') // 2. 建立连接 this.socket.on('connect', () => { console.log('建立连接成功了') }) // 3.监听消息返回 this.socket.on('chat message', msg => { console.log('服务回来的消息', msg) }) }
这样就能进行一个简单的人工智能对话了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- django对话框(基于django channel实现websocket的聊天室的方法示例)
- html5socket源码(五分钟学会HTML5的WebSocket协议)
- vue使用websocket的详细步骤(vue使用webSocket更新实时天气的方法)
- vue-websocket 组件教程(Vue+express+Socket实现聊天功能)
- python测试websocket接口(Python如何爬取实时变化的WebSocket数据的方法)
- nodejs实现websocket服务端(Node.js+express+socket实现在线实时多人聊天室)
- vue websocket实时刷新数据(Vue+WebSocket页面实时刷新长连接的实现)
- thinkphp接口开发实例(ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解)
- websocket聊天室怎么设置(基于websocket实现简单聊天室对话)
- 七夕取消是什么梗(七夕取消是什么梗)
- 这竟然是捏出来的 20种橡皮泥玩法让你轻松hold住魔娃(这竟然是捏出来的)
- 自制橡皮泥(自制橡皮泥)
- 还在卖 禁药西布曲明网上论斤卖(还在卖禁药西布曲明网上论斤卖)
- 微商在朋友圈热卖的 DL减肥咖啡 含违禁药物,你还敢买吗(微商在朋友圈热卖的)
- 八一节,说说中国女兵(八一节说说中国女兵)
热门推荐
- python中jieba库怎么用(详解Python数据可视化编程 - 词云生成并保存jieba+WordCloud)
- netcoredocker视频教程(Docker安装部署Net Core实现过程解析)
- 如何建立smart组件(Smarty模板变量与调节器实例详解)
- html5所有特性(HTML5 FileReader对象的具体使用方法)
- mysql5.7.19下载及安装教程(Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法)
- sqlserver连接服务器怎么解决(Sql server端口未打开连接不上的解决方案)
- django 后台管理office文件(django admin后台添加导出excel功能示例代码)
- php 获取证书列表(用PHP做了一个领取优惠券活动的示例代码)
- jquery留言板代码(JavaScript实现留言板添加删除留言)
- python中怎样使用列表的sort方法(详解python中sort排序使用)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9