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","豪哥爱玲姐");
});
});