socket.io - socket.send 未传达消息
socket.io - socket.send doesn't communicate message
我正在尝试在前端和后端之间传递文本。
我的 node.js
代码如下所示:
var express = require('express');
var app = express();
var io = require('socket.io').listen(8081);
app.use(express.static('public'));
var server = app.listen(3000, function () {
var port = server.address().port;
console.log('Example app listening at', port);
io.sockets.on('message', function (message) {
console.log(message);
});
});
标记:
<html>
<body>
<script type="text/javascript" src="https://cdn.socket.io/socket.io-1.3.7.js"></script>
<script type="text/javascript">
var socket = io.connect('http://localhost:8081');
socket.on('connection', function (socket) {
socket.send('hi');
});
</script>
</body>
</html>
我是 socket.io 的新手,socket.send('hi')
应该 console.log
ing hi
到节点控制台。
有没有我遗漏的东西(是的,IP 是正确的)?
没有 JS 控制台错误。
我认为您不能使用 io.sockets.on
-- 您只能将其用于 .emit
连接的套接字。
此外,对于前端,套接字连接时的事件是 connect
。 connection
是创建新连接时的服务器端事件。
最后,socket
也没有作为参数传递给前端的事件。
// server
io.on('connection', socket => socket.on('message', msg => console.log(msg)));
// client
socket.on('connect', () => socket.send('hi'));
我正在尝试在前端和后端之间传递文本。
我的 node.js
代码如下所示:
var express = require('express');
var app = express();
var io = require('socket.io').listen(8081);
app.use(express.static('public'));
var server = app.listen(3000, function () {
var port = server.address().port;
console.log('Example app listening at', port);
io.sockets.on('message', function (message) {
console.log(message);
});
});
标记:
<html>
<body>
<script type="text/javascript" src="https://cdn.socket.io/socket.io-1.3.7.js"></script>
<script type="text/javascript">
var socket = io.connect('http://localhost:8081');
socket.on('connection', function (socket) {
socket.send('hi');
});
</script>
</body>
</html>
我是 socket.io 的新手,socket.send('hi')
应该 console.log
ing hi
到节点控制台。
有没有我遗漏的东西(是的,IP 是正确的)?
没有 JS 控制台错误。
我认为您不能使用 io.sockets.on
-- 您只能将其用于 .emit
连接的套接字。
此外,对于前端,套接字连接时的事件是 connect
。 connection
是创建新连接时的服务器端事件。
最后,socket
也没有作为参数传递给前端的事件。
// server
io.on('connection', socket => socket.on('message', msg => console.log(msg)));
// client
socket.on('connect', () => socket.send('hi'));