Nodejs入门基础(socket即时通讯)

socket.html--前端页面,可以输入内容传递给index.js进行接收
index.js--获取前端页面的信息并处理返回值给前端页面

socket.html

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2>即时通讯demo</h2>
<input type="text" name="msg" id="msg"/><br>
<input type="button" value="发送" onclick="fs()"/>
<!--引用Io包,规定的写法,如果没有安装则需要服务器进行下载 npm install socket.io --save-->
<script src="/socket.io/socket.io.js"></script>
<script>
    var socket = io();
    /*连接后台*/

    //传递给后台的信息
    function fs() {
        //获取信息赋值给msg
        var msg = document.getElementById("msg").value;
        console.log(msg);
        //传递值到后台
        socket.emit("askmessage", msg);
    }

    //接受后台传递过来的信息
    socket.on("message", function (msg) {
       console.log(msg);
    });
</script>
</body>
</html>

index.js

var http = require("http");//引入http包信息
var fs = require("fs");//引入fs


var server = http.createServer(function (req, res) {//创建服务
    if (req.url == "/") {//判断输入的如果是根目录
        fs.readFile("./socket.html", function (err, data) {
            res.end(data);//默认首页socket.htm;
        });
    }
});
server.listen(3000);//服务器开启端口

var io = require("socket.io").listen(server);//导入io

//io监听,如果有人连接的时候提示信息
io.on("connection", function (socket) {
    console.log("测试有人连接了");

    //定义事件,让前端触发并反馈值到后端
    socket.on("askmessage", function (msg) {
        console.log(msg);

        //传递给前台的信息
        socket.emit("message","豪哥爱玲姐");
    });
});

猜你喜欢

转载自blog.csdn.net/JayVergil/article/details/83475357