-1
我对Node.js使用'ws'库。套接字没有意义?
我可以编写代码,将数据从我的服务器发送到客户端,发布日期和时间更新,并在单击按钮时关闭套接字;
var wss = new WebSocketServer({server: server});
console.log("WebSocket server created");
wss.on('connection', function(socket) {
// SEND DATE AND TIME EVERY SECOND
\t var interval = setInterval(function() {
\t \t socket.send(JSON.stringify(new Date()), function() {});
\t }, 1000);
\t console.log("WebSocket connection opened");
\t socket.on('close', function() {
\t \t console.log("WebSocket connection closed");
\t \t clearInterval(interval);
\t });
});
<html>
<head>
<script>
var host = location.origin.replace(/^http/, 'ws')
var ws = new WebSocket(host);
ws.onmessage = function (event) {
var li = document.createElement('li');
li.innerHTML = JSON.parse(event.data);
document.querySelector('#pings').appendChild(li);
};
function pressed() {
// CLOSE STREAM
ws.close();
}
</script>
</head>
<body>
<h1>Pings</h1>
<form name="form1" method="post" action="">
<input type="button" value="Call server" onClick="pressed()">
<ul id='pings'></ul>
</body>
</html>
但由于某些原因,我不能想出一个办法,将数据发送回老家到服务器,并调用控制台打印“按下!”管他呢。这是一种限制,因为它不是双向的,它看起来像套接字是单向流。
像这样;
var wss = new WebSocketServer({server: server});
console.log("WebSocket server created");
wss.on('connection', function(socket) {
// SEND DATE AND TIME EVERY SECOND
\t var interval = setInterval(function() {
\t \t socket.send(JSON.stringify(new Date()), function() {});
\t }, 1000);
\t console.log("WebSocket connection opened");
// LOOK FOR 'pressed' BEING SENT
\t socket.on('pressed', function() {
\t \t console.log("Pressed!");
\t \t socket.close();
\t });
\t socket.on('close', function() {
\t \t console.log("WebSocket connection closed");
\t \t clearInterval(interval);
\t });
});
<html>
<head>
<script>
var host = location.origin.replace(/^http/, 'ws')
var ws = new WebSocket(host);
ws.onmessage = function (event) {
var li = document.createElement('li');
li.innerHTML = JSON.parse(event.data);
document.querySelector('#pings').appendChild(li);
};
// SEND 'pressed' TO SERVER
function pressed() {
ws.send('pressed');
}
</script>
</head>
<body>
<h1>Pings</h1>
<form name="form1" method="post" action="">
<input type="button" value="Call server" onClick="pressed()">
<ul id='pings'></ul>
</body>
</html>
我缺少什么,刚开始学习有关插座,感觉就像我试图通过砖墙用棉勺子挖。
真的,有人决定downvote一个关于插槽进行数据交互的误解?合法的。 – ARMATAV