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) }) }
这样就能进行一个简单的人工智能对话了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- vue-websocket 组件教程(Vue+express+Socket实现聊天功能)
- django对话框(基于django channel实现websocket的聊天室的方法示例)
- vue使用websocket的详细步骤(vue使用webSocket更新实时天气的方法)
- python测试websocket接口(Python如何爬取实时变化的WebSocket数据的方法)
- thinkphp接口开发实例(ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解)
- html5socket源码(五分钟学会HTML5的WebSocket协议)
- websocket聊天室怎么设置(基于websocket实现简单聊天室对话)
- nodejs实现websocket服务端(Node.js+express+socket实现在线实时多人聊天室)
- vue websocket实时刷新数据(Vue+WebSocket页面实时刷新长连接的实现)
- 省 市书法家协会 送万福进万家 活动走进禹州美丽乡村(省市书法家协会)
- 点赞 禹州苌庄正式撤乡建镇 未来发展不可估量(禹州苌庄正式撤乡建镇)
- 它荣获 中国生态魅力镇 称号 就在咱们禹州,一起来看看(中国生态魅力镇)
- 真牛 禹州将建成中等城市(禹州将建成中等城市)
- 被骂欺师灭祖,与郭德纲公开叫板,何云伟改名何沄伟,开始画画了(与郭德纲公开叫板)
- 相声转行影帝,被何晴抛弃,甩10年女友闪婚生子,刘威不靠谱情史(相声转行影帝被何晴抛弃)
热门推荐
- centos修改网络配置(CentOS设置IP连接网络实现过程图解)
- javascript写游戏脚本(原生JS实现飞机大战小游戏)
- SCOPE_IDENTITY的用法
- sql建立视图步骤(SQL 创建、更新和删除视图的方法)
- .NET中生成带Logo的二维码
- python怎样读取txt文件的数据内容(Python实现读取txt文件中的数据并绘制出图形操作示例)
- mysql 查询json(MySQL处理JSON常见函数的使用)
- css怎么设置图片横着(一行css代码解决图片统一大小后的拉伸问题object-fit)
- sql server案例(SQL Server作业报错特殊案例分析)
- html5淘汰的标签(浅谈HTML5新增和废弃的标签)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9