express_socket群聊/机器人实现原理
app.js
var express=require('express'); var app=express(); /*第一步*/ var server = require('http').Server(app); var io = require('socket.io')(server); app.set('view engine','ejs'); app.use(express.static('public')); app.get('/',function(req,res){ //res.send('首页'); res.render('index'); }) app.get('/news',function(req,res){ res.send('news'); }) //2.监听端口 server.listen(8000,'127.0.0.1'); /*改ip*/ //3、写socket的代码 io.on('connection', function (socket) { console.log('建立链接') socket.on('message',function(data){ console.log(data); //io.emit 广播 //socket.emit 谁给我发的信息我回返回给谁 //io.emit('servermessage',data); /*服务器给客户端发送数据*/ if(data==1){ var msg='您当前的话费有2元' }else if(data==2){ var msg='您当前的流量有200M' }else{ var msg='请输入正确的信息' } socket.emit('servermessage',msg); }) });
index.ejs
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script src="/jquery-1.11.3.min.js"></script> <script src="http://127.0.0.1:8000/socket.io/socket.io.js"></script> </head> <body> <input type="text" id="msg"/> <br/> <br/> <button id="send">发送</button> </body> </html> <script> $(function(){ var socket = io.connect('http://127.0.0.1:8000/'); //群聊功能--聊天室 $('#send').click(function(){ var msg=$('#msg').val(); socket.emit('message',msg); /*客户端给服务器发送数据*/ }) //接受服务器返回的数据 socket.on('servermessage',function(data){ console.log(data) }) }) </script>
package.json
{
"dependencies": {
"ejs": "^2.5.6",
"express": "^4.15.3",
"socket.io": "^2.0.3"
}
}
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!