NodeJs 实现简单WebSocket即时通讯的示例代码
前端  /  管理员 发布于 3年前   209
服务器的实现很简单,先装一个nodeJs的模块,叫nodejs-websocket , 直接在nodeJs命令行中敲入:npm install nodejs-websocket回车就可以安装好了,然后就可以开始建立服务器了,因为有了nodejs-websocket模块,所以很多工作都不用我们自己做,直接调用别人封装好的方法就行了:
服务端代码
根据客户端传来的消息判断哪个是game1,哪个是game2,保存connection对象。
var ws = require("nodejs-websocket");console.log("开始建立连接...")var game1 = null,game2 = null , game1Ready = false , game2Ready = false;var server = ws.createServer(function(conn){ conn.on("text", function (str) { console.log("收到的信息为:"+str) if(str==="game1"){ game1 = conn; game1Ready = true; conn.sendText("success"); } if(str==="game2"){ game2 = conn; game2Ready = true; } if(game1Ready&&game2Ready){ game2.sendText(str); } conn.sendText(str) }) conn.on("close", function (code, reason) { console.log("关闭连接") }); conn.on("error", function (code, reason) { console.log("异常关闭") });}).listen(8001)console.log("WebSocket建立完毕")
【game1代码】:通过点击获取三个框的内容,传到服务器
Document 正在连接...Top
- 相关文章
- 在js中使用jszip + file-saver实现批量下载OSS文件功能示例(0个评论)
- 在vue中实现父页面按钮显示子组件中的el-dialog效果(0个评论)
- 使用mock-server实现模拟接口对接流程步骤(0个评论)
- vue项目打包程序实现把项目打包成一个exe可执行程序(0个评论)
- 在Node.js中实现消费rabbitmq队列消息示例(0个评论)
- 近期文章
- 在Laravel中使用Context Facade上下文门面数据示例(0个评论)
- 在go语言中实现将输入数据导入正在执行的子进程示例(0个评论)
- 在go语言中使用io.Pipe()函数实现将第一条执行命令的输出导入第二条执行命令(0个评论)
- 在dcat-admin中实现多应用后台,高效实现免密登陆其它后台流程步骤(0个评论)
- 使用Laravel Query Enrich丰富查询软件包轻松创建复杂的数据库查询(0个评论)
- 在go语言中使用Gorilla webtoolkit实现为已命名或已注册的路由创建新url功能示例(0个评论)
- 在go语言中实现zaplog将日志上报到、企业微信、飞书等im工具示例(0个评论)
- 在go语言中实现进程操作功能扩展包:gopsutil/process(0个评论)
- 苹果将在iOS 18中启用“苹果账户”名称,“Apple ID”将成历史(0个评论)
- 在go语言中实现解密Rijndael256-CBC加密数据示例(0个评论)
- 近期评论
原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..博主 在
科学上网翻墙之v2rayN-Core客户端免费公益节点使用教程中评论 @ mashrdn 多切换几个节点测试,免费ssr是没那么稳..
Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号