WebSocket


使用ws包

//app.js
//npm install ws

//.....


var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ port: 8181 });
wss.on('connection', function (ws) {
    console.log('client connected');
    ws.on('message', function (message) {
        console.log(message);
    });
});



app.listen(3000);

<!DOCTYPE html>
<html>
  <head>
    <title>websocket</title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body> 

    <input type="text" id="ipt">
    <button onclick='sendMessage()'>send</button>

    <script>
        var ipt = document.getElementById('ipt');
     
        var ws = new WebSocket("ws://127.0.0.1:8181");
        ws.onopen = function (e) {
            console.log('Connection to server opened');
        };
        function sendMessage() {
            ws.send( ipt.value );
        };
    
    
    </script>
  </body>
</html> 

                               
 
 




使用Socket.io包

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var bodyParser = require('body-parser');
var path = require('path');
var express = require('express')

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use( '/public' , express.static(path.join(__dirname, 'public')));

app.get('/', function(req, res){
    res.render('idx');
});


io.on('connection', function(socket){   //建立连接
    console.log('a user connected');

    socket.on("disconnect", function() {  //客户端断开连接
        console.log("a user go out");
    });

    socket.on("message", function(obj) {   //接收客户端发的消息
        io.emit("message", obj);  //往客户端发送
    });
    
});


http.listen(3000, function(){
    console.log('listening on *:3000');
});

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="/public/socket.io.js"></script>
</head>
<body>
    <input type="text" id="ipt">
    <button id="btn">send</button>
    <ul id="message"></ul>
    <script>
        socket = io.connect('ws://127.0.0.1:3000');
        
        socket.emit("message", {"name" : navigator.userAgent, "msg" : "hello world"});  //发送消息

        socket.on("message", function(obj) {  //接收后台传来的消息
            console.log(obj);
        });

        var ipt = document.getElementById('ipt');
        var btn = document.getElementById('btn');
        btn.onclick = function(){
            socket.emit('message', { "data":ipt.value })  //将输入框里的内容发送到后台
        }
    </script>
</body>
</html>

 
















































posted @ 2017-08-24 14:09  kingov  阅读(190)  评论(0)    收藏  举报