server.js
var ws = require('nodejs-websocket');
var server = ws.createServer(function(socket){
// 事件名称为text(读取字符串时,就叫做text),读取客户端传来的字符串
var count = 1;
socket.on('text', function(str) {
// 在控制台输出前端传来的消息
console.log(str);
//向前端回复消息
socket.sendText('服务器端收到《'+ str +"》"+" 共接受次数: "+ count++);
});
}).listen(3000);
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button onclick="ws.send('这是来自客户端发送消息')">
发送信息
</button>
<script>
var ws;
function WebSocketTest() {
if ("WebSocket" in window) {
alert("您的浏览器支持 WebSocket!");
// 打开一个 web socket
ws = new WebSocket("ws://localhost:3000/");
ws.onopen = function () {
// Web Socket 已连接上,使用 send() 方法发送数据
console.log("Web Socket 已连接上")
ws.send("发送数据");
// 这里用一个延时器模拟事件
// setInterval(function() {
// ws.send('这是来自客户端发送消息');
// },2000);
alert("数据发送中...");
};
ws.onmessage = function (evt) {
var received_msg = evt.data;
alert("数据已接收...");
};
ws.onclose = function () {
// 关闭 websocket
alert("连接已关闭...");
};
} else {
// 浏览器不支持 WebSocket
alert("您的浏览器不支持 WebSocket!");
}
}
WebSocketTest();
</script>
</body>
</html>