您好,登录后才能下订单哦!
这篇文章主要介绍了基于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) }) }
这样就能进行一个简单的人工智能对话了
感谢你能够认真阅读完这篇文章,希望小编分享的“基于websocket如何实现聊天室对话”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。