【发布时间】:2016-08-27 04:30:51
【问题描述】:
在我的一生中,我无法让我的页面作为客户端连接到服务套接字 io 的节点 js 服务器!
当服务页面是 public_html 文件中的静态页面时,一切都很好,但是一旦我使用 laravel 的视图,客户端就会恢复到最终失败的长轮询。
我什至无法让它在控制台上输出连接消息。
服务器:
var socket = require( './public/node_modules/socket.io' );
var express = require('./public/node_modules/express');
var app = express();
var server = require('http').createServer(app);
var io = socket.listen( server );
var port = process.env.PORT || 3000;
server.listen(port, function () {
console.log('Server listening at port %d', port);
});
io.on('connection', function (socket) {
console.log('user connected');
});
客户
<script src="{{ URL::asset('node_modules/socket.io/node_modules/socket.io-client/socket.io.js') }}"></script>
var socket = io.connect( 'http://'+window.location.hostname+':3000');
文件顺序:共享主机
-Laravel 根(L5)
- 应用程序
- 缓存
- 配置
- public(与 public_html 完全相同的内容)
- 数据库
- 资源
- ---> 浏览量
- Server.js
-public_html
- 图片
- js
- CSS
- node_modules
- --->快递
- --->socket.io
【问题讨论】:
-
do you have any console error -
是的,通过ajax轮询显示(加载资源失败:net::ERR_CONNECTION_TIMED_OUT)
-
这个错误属于哪个文件?
-
在浏览器中访问路由时,脚本是我加载的laravel视图
-
这意味着你的socket.io连接没有与节点服务器建立