zoukankan      html  css  js  c++  java
  • 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"
      }
    }
  • 相关阅读:
    升级到 classpath 'com.android.tools.build:gradle:1.0.0-rc1
    OnScrollListenerPro
    dp和px的转换
    ListView 中判断是否滚动到底部
    为什么setAdapter之后不能addHeadView或者addfooterView
    SwipeRefreshLayout使用小记
    Git-Flow 带你飞!
    在aws的ec2服务器上搭建nginx+php的环境
    PHP程序员的技术成长规划
    GeoHash核心原理解析
  • 原文地址:https://www.cnblogs.com/loaderman/p/11581572.html
Copyright © 2011-2022 走看看