【发布时间】:2016-03-18 15:12:40
【问题描述】:
我正在尝试使用 socket.io 实现与两个用户一起使用相同输入字段的功能
想法是这样的:
- 用户输入数据
- 数据进入后端
- 所有连接客户端的后端广播数据
但是当我尝试输入单个字符时 - 整个输入值以某种方式设置为“”(字面上什么都没有) 也许我应该以另一种方式处理数据流?
将数据发送到后端并在响应时获取数据的客户端代码:
$('input').keydown(function(){
socket.emit('chat message', $('input').val());
console.log($('input').val());
return false;
});
socket.on('chat message', function(msg){
$('input').val(msg);
});
仅用于在所有连接的客户端之间广播数据的后端代码:
io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});
GitHub 仓库链接:https://github.com/eko24/websocket-input
【问题讨论】:
-
keydown 在值改变之前触发
-
必须将相关代码粘贴到您的问题中,而不仅仅是在外部链接中可用。这是一个堆栈溢出策略。
-
@jfriend00,对不起。
标签: javascript node.js websocket socket.io