2

例如,假设我们正在尝试使用 socket.io。

在提供给客户端的 html 文件中,我们在文件中包含以下内容。

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

所以有两个关于这个的问题:

  1. 当 html 文件被提供给客户端时,它会加载 socket.io.js 资源(http://localhost:8080/socket.io/socket.io.js)而不触发 server.js 中的 requestHandler(我有一个命中 localhost:8080 的任何请求的日志语句)。这个资源如何在不触发 requestHandler 的情况下加载到客户端?

  2. Node在哪里找到客户端需要的socket.io.js资源?

4

1 回答 1

1

假设您使用的是基本的 Socket.io 示例之一,这是因为 Socket.io 用它自己的句柄覆盖了您的句柄,并且如果请求是针对 socket.io 管理的内容,则不会运行您的处理程序。

当您调用时.listen(app).listen(80)它会设置处理数据并为客户端 JS 文件提供服务所需的所有处理程序。

于 2012-09-10T02:50:53.730 回答