首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户端无法找到socket.io.js。

客户端无法找到socket.io.js。
EN

Stack Overflow用户
提问于 2017-02-19 05:49:06
回答 1查看 621关注 0票数 4

我读过关于这个话题的所有其他文章,但我找不到解决问题的办法。我让快递服务器运行在默认端口或5000 (process.env.PORT || 5000)上。然后我添加了socket.io,但是客户端无法找到socket.io.js文件。经过一些测试后,我假设存在某种类型的端口冲突或其他问题。以下是我的服务器端代码:

代码语言:javascript
复制
var express = require('express'),
    app = express(),
    bodyParser = require('body-parser'),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

    app.set('port', (process.env.PORT || 5000));

编辑:客户端内容:

编辑2:而且,我不认为这很重要,但我正在当地的Heroku上进行测试。

编辑3:目录结构:

代码语言:javascript
复制
--api
--images
--node_modules
--scripts
--pages
    main_page.ejs
--styles
composer
index.js 
npm-debug
package

编辑4:凹凸

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 03:06:40

问题

Socket.IO无法拦截对加载socket.io.js的/socket.io/的请求。这意味着虚拟socket.io.js文件永远不会加载,您将得到前面提到的404错误。

解决方案

更改如下:

代码语言:javascript
复制
app.set('port', (process.env.PORT || 5000));
app.listen(app.get('port', function() { ... });

To此文:

代码语言:javascript
复制
app.set('port', (process.env.PORT || 5000));
server.listen(app.get('port'), function() { ... });

这将阻止Express立即拦截对/socket.io/的请求,并允许加载文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42324105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档