Node.js - 基本节点 Web 服务器不提供 Socket.io 客户端文件

2023-12-05

我对 Node.js 和 Socket.io 非常陌生。我已经构建了一个非常基本的 Web 服务器,但是在使用它时,我无法加载 socket.io 客户端文件(我得到 404)。

我正在尝试使用这个客户端代码:

<script src="/socket.io/socket.io.js"></script>

我的理解是 Node 应该发现这个问题并解决它?它在一个更简单的 Web 服务器示例上执行。

我的网络服务器示例(未解决)如下:

var server = http.createServer(function (request, response) {

    console.log('request starting...');

    var filePath = '.' + request.url;
    if (filePath == './')
        filePath = './index.html';

    var extname = path.extname(filePath);
    var contentType = 'text/html';
    switch (extname) {
        case '.js':
            contentType = 'text/javascript';
            break;
        case '.css':
            contentType = 'text/css';
            break;
    }

    path.exists(filePath, function(exists) {

        if (exists) {
            fs.readFile(filePath, function(error, content) {
                if (error) {
                    response.writeHead(500);
                    response.end();
                }
                else {
                    response.writeHead(200, { 'Content-Type': contentType });
                    response.end(content, 'utf-8');
                }
            });
        }
        else {
            response.writeHead(404);
            response.end();
        }
    });

我的网络服务器代码解析如下:

app.listen(8080);

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200);
    res.end(data);
  });
}

任何人都可以建议是什么导致它无法使用第一个 Web 服务器示例在客户端上提供 socket.io 文件吗?

最好的问候,本。


您可能在不同的端口上运行 Socket.IO,因此请包含以下格式的文件:

服务器:端口/socket.io/socket.io.js

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

Node.js - 基本节点 Web 服务器不提供 Socket.io 客户端文件 的相关文章

随机推荐

  • 面板无法在使用 JQuery Mobile 的所有页面中工作

    大家好 朋友们 我是 jQuery Mobile 的新手 正在尝试通过使用 jquery mobile 创建网站来学习东西 问题是我用过data role panel 在我的页面上显示导航它工作正常 但是当我跳转到同一 HTML 文件中的另
  • 帮助从外部网站获取 Json 格式数据

    我正在尝试从该网站获取 Json 格式数据 http www livetraffic sg feeds json 但是 当我使用 ajax 时 我在 chrome 控制台中遇到了这个特殊错误 错误 XMLHttpRequest 无法加载 A
  • 如何在 Windows 中不输入 python 来运行 python 脚本

    假设我在某个目录中有一个名为 myfile py 的 python 文件 如何直接调用 python 文件而不调用 python myfile py and not python myfile py Edit 更准确地说 仅在命令行中输入文
  • 在函数中返回大对象

    比较以下两段代码 第一段使用对大对象的引用 第二段将大对象作为返回值 对 大对象 的强调是指 不必要地重复对象的副本会浪费周期 使用对大对象的引用 void getObjData LargeObj a a reset a fillWithD
  • 从下拉选择更新图表

    我有一个 JavaScript 文件app js和一个 php 文件data php app js使用 JSON 输出中的数据创建图表data php See app jsbelow document ready function ajax
  • 将事件转换为任务的可重用模式

    我想要一段通用的可重用代码将 EAP 模式包装为任务 类似于什么Task Factory FromAsync为BeginXXX EndXXXAPM模式 E g private async void Form1 Load object sen
  • 带有标志 FLAG_ACTIVITY_CLEAR_TOP 的活动 (android)

    我接连发起了一系列活动 但在其中一项活动中 我需要使用标志启动该特定活动FLAG ACTIVITY CLEAR TOP 这样它将完成前面的所有活动并开始 我面临的问题是 我不想完成堆栈中的一项活动 它应该存在于新启动的活动的后面 假设我有活
  • azure webapp webjob 节点版本

    如何定义用于运行 azure webjobs 的节点版本 服务器当前使用 v0 11 执行我的代码 但由于我使用需要节点 gt 8 的功能而失败 Web 应用程序本身在节点 8 上运行得很好 但 webjobs 的版本似乎独立于 Web 服
  • 机器精度和双精度型的最大值和最小值

    1 我遇到过几种将 epsilon 添加到非负变量以保证非零值的情况 所以我想知道为什么不加上数据类型可以表示的最小值而不是epsilon呢 这两者能解决什么不同的问题 2 我还注意到双精度类型的最大值的倒数大于其最小值 并且其最小值的倒数
  • 在 python 中以 JSON 形式返回 SQL 表

    我正在 web py 中玩一个小网络应用程序 并设置一个 url 来返回 JSON 对象 使用 python 将 SQL 表转换为 JSON 的最佳方法是什么 这是一个非常好的例子一种Python式的方法来做到这一点 import json
  • 如何处理在 Linq 表达式内部创建的 IDisposableobject?

    Linq 允许您在查询表达式内创建新对象 当您有封装列表生成的类时 这非常有用 我想知道你如何处理创建的需要它的对象 Example class Generator public IEnumerable
  • 使用光标分页和使用偏移量分页之间的成本差异是多少?

    当使用 下一页 和 上一页 按钮创建结果页面时 使用光标执行此操作与使用偏移执行此操作之间的成本差异是多少 每种技术的优缺点是什么 举个具体的例子 读取结果100 110的成本是多少 我见过一些声称 offset 使用 小型数据存储操作 的
  • 捕获键盘中断以阻止 Python 多处理工作线程在队列上工作

    从 stackoverflow 上找到的几篇文章中 我创建了这段代码 Scenario 我想要一个 multiprocessing queue 几个工人 听 如果发生键盘中断 主进程不应再将新项目放入队列中 并且在哨兵对象的帮助下 工作人员
  • .net core 3.1 Bearer error="invalid_token", error_description="受众‘空’无效”

    我有3个项目1 Angular SPA 2 Web API项目核心3 1 3 带有核心3 1的IdentityServer 但我收到以下错误 gt www authenticate Bearer error invalid token er
  • 如何通过带有 Bootstrap Dropdown 的 React Router 更改页面?

    我正在尝试使用引导下拉菜单更改 加载路由器 请帮助我执行此操作
  • 在汇编中将 bin 转换为 hex

    我是初学者 需要将 16 位二进制数转换为十六进制数的帮助 我已经完成了大部分代码 但我需要一些帮助 如何让它只接受0和1输入 而忽略其余的数字和字母 转换过程后 我得到了错误的十六进制数字 我做错了什么 输入示例 101010111100
  • 我在这段代码中缺少什么:“否则没有 if 错误”?

    我正在尝试运行首先声明的代码wsD进而WsS取决于 数据 选项卡中的单元格 我不断收到 else 没有 if 错误 Set wsD ThisWorkbook Sheets Data If wsD Range C4 AL Then Set w
  • 使用 iText 库读取 pdf 文件 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我是安卓新手 我计划开发一个PDF阅读器 我听说有一个名为 iText 的库可以
  • 如何将AWS CDK打包到Lambda层?

    将 AWS CDK 捆绑为 Lambda 层的最佳方式是什么 我需要从 Java 进程调用 CDK 因此希望使用 Java 11 运行时 然后将 Nodejs 和 CDK 安装为 2 个单独的层 目前 我下载 Nodejs 二进制文件 然后
  • Node.js - 基本节点 Web 服务器不提供 Socket.io 客户端文件

    我对 Node js 和 Socket io 非常陌生 我已经构建了一个非常基本的 Web 服务器 但是在使用它时 我无法加载 socket io 客户端文件 我得到 404 我正在尝试使用这个客户端代码 我的理解是 Node 应该发现这个