【问题标题】:Send character by character via websocket or Data channel with WebRTC?通过 websocket 或使用 WebRTC 的数据通道逐个字符发送?
【发布时间】:2013-07-15 17:41:08
【问题描述】:

是否可以通过 websocket 或使用 webrtc 的数据通道逐个字符发送(将来)?我正在寻找两个或多个浏览器之间的实时文本通信,并由多个用户并行编辑文本。例如:一个人写一个文本(一个字符一个字符),另一个同时更正相同的文本。

谢谢

【问题讨论】:

    标签: javascript html websocket webrtc


    【解决方案1】:

    好吧,我没有使用过 WebRTC 数据通道,但是鉴于它们的 API 与 WebSockets 的 API 相似,我认为您需要的是绝对可行的,您只想一次发送一个字符,或者发送一条包含字符及其位置以及您需要的任何其他信息。 有点像

    var websocket = new WebSocket("server address");
    
    websocket.onmessage = function(message) {
       console.log("Character sent: ", JSON.parse(message));
    };
    
    // somewhere in your code
    websocket.send(JSON.stringify({
       position: 42,
       character: 'a'
    }));
    

    【讨论】:

    • 听起来很简单。如何将字符设置在文本框中的位置? keyup后会执行函数websocket.send吗?
    • 您需要监听keyUpinput 事件。 input 更好,因为它只在真实输入时触发,而keyUp 在每次按键(回车,箭头)时触发。如果在您的应用程序中用户只能输入文本或只能删除最后一个字符,那么您根本不需要位置,您只需要有两种消息类型,一种用于输入,一种用于删除。如果您的用户可以在任意位置编辑文本,那么它会变得更加困难,但您可以在 Stackoverflow 上搜索如何获取光标位置和字符位置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 2015-04-15
    • 1970-01-01
    • 2011-06-04
    相关资源
    最近更新 更多