nodejs+webSocket

2019-01-04  本文已影响0人  pretty_rain

1.目前的聊天技术有下面几种:

2.WebSocket

3.webSocket在nodejs中的基本使用

案例目录:


image.png

1.点对点.js

var http = require("http");
var fs = require("fs");
var server = http.createServer(function(req,res){
    fs.readFile("./index.html",function(err,data){
        res.writeHeader(200,{"Content-Type":"text/html ;charset=utf-8"});
        res.end(data);
    });
})
//创建io对象
var io = require("socket.io")(server);
//监听连接事件
io.on("connection",function(socket){
    console.log("一个客户连接了");
    socket.on('qingqiu',function(msg){
        //点的点
        socket.emit('fanhui',"返回"+msg);
    })
})
server.listen(3000,"127.0.0.1");

2.瀑布模式.js

//引包
var http = require('http');
var fs = require('fs');
//创建服务
var server = http.createServer(function(req,res){
    res.writeHeader(200,{'Content-Type':'text/html ;charset=utf-8'});
    fs.readFile("index.html",function(err,data){
        res.end(data);
    })
})
//创建通讯io
var io = require('socket.io')(server);
//出发连接事件
io.on('connection',function(socket){
    socket.on('qingqiu',function(msg){
        //瀑布模式
        io.emit("fanhui",msg);
    })
})
server.listen(3000,'127.0.0.1');

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>socket</title>
</head>
<body>
<input type="text" placeholder="要发送的消息内容"/>
<botton>发送</botton>
</body>
</html>
//关键步骤引入socket.io.js
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
    var socket = io();

    document.querySelector("botton").onclick = function(e){
        e.preventDefault();
        console.log("---");
        socket.emit("qingqiu",document.querySelector("input").value);
    }
    socket.on("fanhui",function(msg){
        var p = document.createElement("p");
        p.innerHTML = msg;
        document.body.appendChild(p);
        console.log(msg);
    })
</script>
上一篇 下一篇

猜你喜欢

热点阅读