【发布时间】:2018-08-03 11:41:11
【问题描述】:
我制作了一个使用 socket.io 发送消息的简单应用。
这里是服务器代码片段:
var io = require('socket.io')(http);
io.on('connection', function(socket) {
console.log('a user connected');
socket.on('disconnect', function() {
console.log('user disconnected');
});
socket.on('connect to room', function(rooms) {
for (var i = 0; i < rooms.length; i++) {
socket.join(i);
console.log('joined to room number ' + i);
}
});
socket.on('chat message', function(id, msg) {
console.log('message!');
io.broadcast.to(id).emit('chat message', msg);
});
});
这是客户端代码:
var socket = io('http://localhost:8080');
socket.on('connect', function(socket) {
console.log('you have been connected!');
});
socket.on('chat message', function(msg) {
console.log('message!');
$('#messages').append(msg);
});
socket.emit('connect to room', [{
{
user.rooms
}
}]);
if (e.which == 13 && target.is('#message')) {
var message_text = $('#message').val();
socket.in(room.id).emit(message_text);
$(#messages).append(message_text);
}
(房间对象是当前打开的房间) 运行后出现错误:
未捕获的类型错误:socket.in 不是函数
有什么想法吗?如果您认为我写错了,请随时说(for example x++ instead x += 1)。
【问题讨论】:
标签: javascript node.js socket.io