使用套接字 io 向所有浏览器发送消息

2024-01-28

我正在摆弄socket.io和node.js,并且想知道如何完成以下任务:我有一个简单的表单,将文本字符串发送到服务器,服务器将其发回,并将其附加到div中。我想做的是为所有浏览器中的所有用户更新该 div,目前它只更新发送消息的浏览器。

来自app.js(node.js服务器)的代码:

io.sockets.on('connection', function(socket) {
    socket.on('send_message', function(data) {
    data.message = data.message + ' yo<br/>';
    socket.emit('get_message',data);
    });
}); 

客户端代码:

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
    <script src="/socket.io/socket.io.js"></script>
    <script>
    $(document).ready(function() {
    var socket = io.connect('http://localhost:3000');

    $('#sender').live('click',function() {
            var user_message = $('#message_box').val()
            socket.emit('send_message',{message: user_message});
    });

    socket.on('get_message', function(data) {
        $('#data').append(data.message);
        });
    });
</script>

和html:

<div id='data'></div>
<input type='text' id='message_box' placeholder='send message'>
<button id='sender'>Send Message</button>

我应该怎么做才能将消息发送到多个浏览器?


Change

socket.emit('get_message',data);

To

socket.broadcast.emit('get_message',data);

将其广播给所有已连接的用户,但您调用广播的套接字除外。

如果您还想包括该套接字,您可以这样做

io.sockets.emit('get_message', data);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用套接字 io 向所有浏览器发送消息 的相关文章

随机推荐

  • 到 .accdb 文件的 ODBC 连接

    我正在尝试从我一直在处理的统一项目中访问 Microsoft Access 数据库文件 但它不断抛出异常 因为它无法找到该文件并且没有选择标准河流 代码 using UnityEngine using UnityEngine UI usin
  • DynamoDB 预配的写入容量单位经常意外超出

    我相信我了解写入 读取容量单位 它们的工作原理以及在 DynamoDB 中的计算方式 证明就是我明白this https linuxacademy com howtoguides posts show topic 20310 how to
  • 从 Clojure Repl 和 Leiningen 运行测试

    作为 clojure 的新手 我使用 leiningen 创建了一个示例项目 lein new app first project 这给了我这个目录 doc intro md LICENSE project clj README md re
  • Android 将 Drawable 和 Shape 合并为一个 Drawable(以编程方式)

    我正在设置android drawable单选按钮的编程方式如下 Drawable unchecked getResources getDrawable R drawable ic room car Drawable d getResour
  • 为什么执行指针追踪时该跳转指令的开销如此之大?

    我有一个程序可以执行指针追逐 https en wikichip org wiki pointer chasing我正在尝试尽可能优化指针追逐循环 我注意到perf record检测到函数中约 20 的执行时间myFunction 用于执行
  • 带有标识符 LabelServices 的库丢失(可能已被删除?)/出现问题。请重新加载

    我已将其发布在 google apps script issues 上 但没有任何回应 我变得绝望 因为我所有的工作表和脚本都崩溃了 所以我希望这里有人可能遇到过这个问题 并且可以告诉我如何处理这个问题 我的一些现有脚本 包括电子表格中的一
  • 将 Typeahead.js 与 ASP.Net Webmethod 集成

    我正在寻找将 Typeahead js 与 Asp Net Webmethod 一起使用的示例 我有来自的例子http twitter github io typeahead js examples http twitter github
  • SQL Server 2012-数据库主数据库中的创建数据库权限被拒绝(错误 262)

    我想使用 SQL Server Management studio 在 SQL Server 2012 上创建一个新数据库 我以管理员身份运行 SQL Server Management studio 并使用 Windows 身份验证登录
  • 性能问题 - iOS 中的 plist 与 sqlite

    我需要跟踪一些变量并经常保存它们 我不需要复杂的搜索和排序 只需要简单的读 写 plist 和 sqlite 的读 写性能有什么区别 除了上述两种方法之外 我还应该使用 core data 吗 请给我一些提示 Thanks 在 SQlite
  • 无法加载 libhdfs

    尝试使用 pyarrow 访问 hdfs 文件但无法使其工作 下面是代码 非常感谢您 rxie cedgedev03 code python Python 2 7 12 Anaconda 4 2 0 64 bit default Jul 2
  • 电子如何允许不安全的https

    Loading https github com https github com例如 工作正常 但是加载不安全的https 页面显示为空 我做了一些研究并尝试了 3 个标志 webSecurity allowDisplayingInsec
  • 如何清除服务器端文件上传文本(c#)

    我想清除文件上传的文件路径 文件上传位于更新面板内 我正在使用AsyncFileUpload 如何清除文件并更改文件上传的背景颜色 btnAudUpload Click 方法 string filename FileUpload FileN
  • gcc优化说明

    出于黑客的好奇心 我想知道如何gcc能巧妙地优化下面的功能吗 int c int i j 0 for i 0 i lt 10 i j i return j objdump D c o下面是针对arm的 但x86在逻辑上没有什么不同 0000
  • 清除标准输入缓冲区?

    我正在编写一些代码并使用 fgets 来获取用户输入 然后我在代码上编写了一个循环 以不断要求用户输入 直到用户打印退出 但第二次询问时 它写了 2 次 请输入您的输入 而不是 1 次 并且第一次没有等待我的输入 所以 我用谷歌搜索它 发现
  • 如何使用原子操作切换一个文档中的布尔字段?

    有没有办法通过原子操作来切换 MongoDB 中一个文档的布尔字段 说 用Python cl update id toggle field 1 目前 我认为通过一次手术不可能做到这一点 按位运算符 http www mongodb org
  • Oracle 中的匿名 TABLE 或 VARRAY 类型

    在 Oracle 中 我有时想创建诸如此类的构造 SELECT FROM TABLE STRINGS a b c SELECT FROM TABLE NUMBERS 1 2 3 显然 我可以为上述声明我自己的类型 我可以选择TABLE an
  • MediatR 发布和 MediatR 发送

    我已经尝试使用 MediatR 的 CQRS 模式 并且喜欢正在处理的应用程序正在转换的干净状态 在我见过和使用的所有例子中 我总是这样做 await Mediator Send command 查询也是一样的 var data await
  • float32 和 float64 之间的真正区别

    我想了解之间的实际区别float16 and float32从结果精度来看 例如 NumPy 允许您选择所需数据类型的范围 np float16 np float32 np float64 我担心的是 如果我决定使用 float16 来保留
  • 删除默认构造函数令人头疼

    我的 C 书是这么说的 lippman c Primer 第五版 第 508 页 如果类 有一个 const 成员 其类型未显式定义默认构造函数 则合成的默认构造函数被定义为已删除and该成员没有类内初始值设定项 强调我的 那么为什么这段代
  • 使用套接字 io 向所有浏览器发送消息

    我正在摆弄socket io和node js 并且想知道如何完成以下任务 我有一个简单的表单 将文本字符串发送到服务器 服务器将其发回 并将其附加到div中 我想做的是为所有浏览器中的所有用户更新该 div 目前它只更新发送消息的浏览器 来