宝哥软件园

NodeJs实现简单WebSocket即时通讯的示例代码

编辑:宝哥软件园 来源:互联网 时间:2021-08-21

服务器的实现很简单,先装一个开发的模块,叫nodejs-websocket,直接在开发命令行中敲入:国家预防机制安装nodejs-websocket回车就可以安装好了,然后就可以开始建立服务器了,因为有了nodejs-websocket模块,所以很多工作都不用我们自己做,直接调用别人封装好的方法就行了:

服务端代码

根据客户端传来的消息判断哪个是游戏1,哪个是游戏2,保存关系对象。

var ws=require(' nodejs-web socket ');console.log('开始建立连接.')var game1=null,game2=null,game1Ready=false,game2Ready=falsevar server=ws。CreateServer(function(conn){ conn . on(' text ',function (str) { console.log('收到的信息为: ' str)if(str==' game 1 '){ game 1=conn;game1Ready=trueconn.sendText('成功');} if(str===' game 2 '){ game 2=conn;game2Ready=true} if(游戏1 readygame 2 ready){游戏2。sendtext(字符串);} conn . send text(str)})conn . on(' close ',函数(代码,原因){ console.log('关闭连接') });' conn.on('错误,函数(代码,原因){ console.log('异常关闭') });}).监听(8001)console.log('WebSocket建立完毕)【游戏一代码】:通过点击获取三个框的内容,传到服务器

!doctype html html lang=' en ' head meta charset=' UTF-8 '标题文档/标题样式.匡{ text-align :居中;页边距-顶部:200像素;} #mess{text-align: center} .值{宽度: 200像素高度:200 pxborder:1px固体;文本对齐:中心;线高: 200像素;显示器:内联块;} /style/headbody div id='mess '正在连接./div class=' kwang ' div class=' value ' id=' value 1 '小明小明/div div class='value' id='value2 '大胸大胸/div div class='value' id='value3 '小张小张/div /div脚本var mess=文档。getelementbyid(' mess ');如果(窗口. WebSocket){ var ws=new WebSocket(' ws ://192。168 .17 .80:8001 ');ws。onopen=功能(e){控制台。日志('连接服务器成功');ws。发送('游戏1 ');} ws。onclose=function(e){ console。日志('服务器关闭');} ws。onerror=function(){ console。日志('连接出错');} ws。on message=function(e){ mess。innerhtml='连接成功document.querySelector(' .匡')。onclick=函数{可变时间=新日期();ws.send(time ' game1点击了目标。innerHTMl ' " ");} } }/脚本/正文/html[游戏2代码】:获取服务推送来的消息,并且显示

!doctype html html lang=' en ' head meta charset=' UTF-8 '标题文档/标题样式.匡{ text-align :居中;页边距-顶部:200像素;} # mess { text-align : center }/style/head body div id=' mess '/div script var mess=document。getelementbyid(' mess ');如果(窗口. WebSocket){ var ws=new WebSocket(' ws ://192。168 .17 .80:8001 ');ws。onopen=功能(e){控制台。日志('连接服务器成功');ws。发送('游戏2 ');} ws。onclose=function(e){ console。日志('服务器关闭');} ws。onerror=function(){ console。日志('连接出错');} ws.onmessage=函数{可变时间=新日期();mess.innerHTML=time '的消息:' e.data 'br' } } /script/body/html运行截图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+