• 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"
      }
    }
  • 相关阅读:
    Apache ab压力测试时出现大量的错误原因分析
    图解linux下的top命令
    [转载]几种切词工具的使用(转)
    大规模中文文本处理中的自动切词和标注技术
    [转载]盘点:94版《三国演义》演员的今昔对比照
    搜索引擎切词详解
    iphone-命令行编译之--xcodebuild
    Appium IOS 自动化测试初探
    手把手教你appium_mac上环境搭建
    Appium-doctor 检测Xcode未安装问题
  • 原文地址:https://www.cnblogs.com/loaderman/p/11581572.html
Copyright © 2020-2023  润新知