socket.io - ReferenceError:套接字未定义

2024-05-25

我正在尝试编写一个简单的应用程序,它将我在文本区域中输入的每个字符镜像到 div 使用socket.io,但我不断收到以下客户端错误:“ReferenceError:套接字未定义”

这是我的服务器代码:

var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

server.listen(3000);

app.get('/', function(req,res){
    res.sendfile(__dirname+ '/index.html');
});

io.sockets.on('connection', function(socket){

    socket.on('keyup', function(data){
        io.sockets.emit('keydisplay',data); 
    });


});

客户端代码:

    <div id="output"></div>
    <textarea id = "input"></textarea>

    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script src="/socket.io/socket.io.js"></script>

    <script>
        jQuery(function($){

            $('#input').keyup(function(){
                content = $('#input').val();
                socket.emit('keyup', content);

            });

            socket.on('keydisplay', function(data){
                $('#output').append(data);
            }); 
        });


    </script>

有线索吗?我究竟做错了什么?


嗯,这不是很明显吗?你还没有定义socket在您的客户端代码中(这就是 ReferenceError 的含义):

jQuery(function($){
    var socket = io.connect('http://localhost');
    // the other code goes here
});

注意io是一个全局变量socket.io.js script.

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

socket.io - ReferenceError:套接字未定义 的相关文章

随机推荐

  • 使用缩略图器,我可以制作具有相同高度和宽度的缩略图,无论图像大小如何

    In 缩略图器 http code google com p thumbnailator 我正在制作缩略图 如果图像大小是 400 300 并且如果我执行以下操作 Thumbnails of new File original jpg si
  • http://jigsaw.w3.org/css-validator/ 和 http://www.css-validator.org/ CSS 验证器之间的区别?

    我尝试使用两个验证器验证我的 CSS 但它们给出了不同的结果 http www css validator org http www css validator org 返回的错误 在我的例子中为 245 比http jigsaw w3 o
  • gcloud app deploy:此部署有太多文件

    当我尝试通过 gcloud 部署我的 GAE 应用程序时 出现以下错误 Updating service default failed ERROR gcloud app deploy Error Response 400 This depl
  • 验证总结问题

    我有一个页面 我正在使用验证摘要和必需的字段验证器 当我单击验证按钮时 两个验证摘要中都会显示错误消息 并显示在必填字段验证器中写入的消息 我想在验证摘要和必填字段验证器中显示不同的消息 例如 验证摘要应显示 标有 的字段为必填字段 并且必
  • 德尔福和Doxygen

    我想使用 doxygen pas2dox 记录我的源代码 当我设置好所有内容 包括过滤器和提取选项 提取所有内容 时 doxygen 运行良好 但生成的文档仅包含源文件作为链接 并且没有提取类型 方法 过滤后的源看起来不错 有任何提示如何定
  • 如何逐行替换(更新)文件中的文本

    我试图通过读取每一行 测试它 然后写入是否需要更新来替换文本文件中的文本 我不想保存为新文件 因为我的脚本已经先备份文件并对备份进行操作 这是我到目前为止所拥有的 我从 os walk 获取路径 并且保证 pathmatch var 正确返
  • 编译托管对象模型时有什么方法可以忽略丢失的反向警告吗?

    标题几乎包含了问题 我们发布了一个应用程序 其数据模型的逆配置不正确 我们在下一个版本中使用新版本的数据模型修复了这些问题 但 Xcode 在编译以前的数据模型版本时仍然显示警告 我不想破坏将文档从旧数据模型迁移到新数据模型的能力 并且我非
  • 异步 C++ 代码中的内存管理

    我一直在与boost asio一段时间以来 虽然我确实理解了异步调用的概念 但我仍然对内存管理的含义感到有些困惑 正常情况下同步代码中对象的生命周期很清楚 但考虑一个类似于以下情况的场景日间服务器 http www boost org do
  • 无法从 java 发送 48681 字节消息以保护 wcf 服务

    我必须使用相互身份验证从 java 调用安全的 WCF 服务 一切工作正常 除了我无法发送大小超过 48680 字节的消息 因此 48680 字节的消息已成功发送 但 48681 字节的消息未成功发送 并且 java 应用程序因读取超时异常
  • Emacs 打字骨架对插入也许

    在 Eclipse 中 编辑 Java 代码时 如果我输入一个左括号 我会得到一对括号 如果我然后 输入 第二个括号 它不会插入额外的括号 我如何在 emacs 中得到它 Eclipse 编辑器足够聪明 当我输入闭括号时 它知道我刚刚完成了
  • 如何在 html 中设置 alt 工具提示的样式? [复制]

    这个问题在这里已经有答案了 是否可以为 alt 属性设置工具提示的样式 我希望为 html 设置背景 字体颜色等样式alt属性 有人可以帮我解决这个问题吗 您无法设计默认的工具提示 即设置样式alt属性 但你可以使用 Javascript
  • 在 Delphi 中获取 TCheckbox 的总大小,包括框和文本

    我想获得 TCheckbox 的总大小 包括 Delphi 中的框和文本 我查看这篇文章Delphi FMX TCheckbox TRadiobutton 自动调整大小 https stackoverflow com questions 4
  • 测量大型源树中的“接近度”

    作为我之前提出的问题的一部分找到两个来源之间的最佳匹配 https stackoverflow com questions 13898659 finding what git commit some code spawned from 其中
  • 将嵌套的 ArrayList 转换为 Java List

    我有这个方法 public List
  • 如何正确地将MapStruct与Eclipse集成? (包括Lombok java代理)

    我愿意在一些官方项目中使用MapStruct 所以我决定先对其进行一些测试 我需要让它与 eclipse 集成工作 并遵循 MapStruct 网站上提供的所有说明 但是 到目前为止还没有运气 有人成功实现了这种整合吗 如果是的话我可以缺少
  • 为什么使用 mysql_real_escape_string,addslashes 不会阻止一切?

    我正在查看文档并偶然发现了 mysql real escape string 我不明白为什么当您可以只使用addslashes 时它很有用 有人可以向我展示一个场景来说明它为什么有用吗 我也很好奇为什么它需要数据库连接 这似乎是一个很大的开
  • 如何解析 ASP.NET Core 3 中的本地文件路径?

    我在用Visual Studio Code版本1 42 on my Ubuntu 18 04 我刚刚安装成功sudo dotnet add package Google Apis Drive v3通过终端但我找不到安装方法System We
  • 带有“Sec-Fetch-User:?1”标头的重复请求扰乱了我的请求限制

    我有一个网站 并且我已经实施了自己的请求限制以提高安全性 问题是 从一台特定的机器上 我收到重复的请求 它们之间几乎相同 生成的两个请求之间存在毫秒级的时间差 当某些 JavaScript 代码以编程方式提交表单时 就会执行原始请求 它们之
  • 简单的注入器和内部构造函数

    我正在开发一个小型类库 并为我的 DI 使用简单注入器 类库有一个访问点 我猜是某种服务 它是public它有一些internal服务和存储库 我看到 Simple Injector 不支持使用内部构造函数进行构造函数注入 例如 我的产品服
  • socket.io - ReferenceError:套接字未定义

    我正在尝试编写一个简单的应用程序 它将我在文本区域中输入的每个字符镜像到 div 使用socket io 但我不断收到以下客户端错误 ReferenceError 套接字未定义 这是我的服务器代码 var express require e