【问题标题】:Socket.io - Cannot load fileSocket.io - 无法加载文件
【发布时间】:2013-10-19 12:07:23
【问题描述】:

我使用 Node.js、socket.io 和 express 制作了一个网络聊天应用程序。它运作良好。
现在我想将我的聊天应用程序移到我的网站中,但路径有问题。
我的网站基于 Laravel framework 并具有这种结构。

Website
    /public
        /js
            /jquery1-10.js
            /chat.js        ----> client side chat file.
    /app.js                 ----> node.js server side file.
    /index.php

Laravel 使用布局,所以在 index.php 文件中,URL::asset('/path-to-file') 适用于公共目录中的所有文件。包括样式表和 javascript。

在我的 index.php 文件中,我这样调用 javascripts:

<script src="{{ asset('js/jquery1-10.js'); }}" ></script> // public/js/jquery1-10.js
<script src="{{ asset('js/chat.js'); }}" ></script>  // public/js/chat.js
<script src="{{ asset('/socket.io/socket.io.js'); }}" ></script> // ???

jquery1-10.jschat.js 都加载良好
但无法加载 socket.io 文件。我认为 socket.io 会自动创建!我不知道它在哪里。
有人可以帮我解决这个问题吗?

这是app.js 文件:

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

app.get("/*", function( req, res ) {
    res.sendfile( __dirname + "/index.php" );
});

这是我的 chat.js 文件 --> 客户端。

jQuery( function($){
var socket = io.connect(); ---> error happens here. can not load socket.io.js file

已解决

嗯,我用了这条线:
&lt;script src="http://localhost:4000/socket.io/socket.io.js" &gt;&lt;/script&gt;

而不是这个:
&lt;script src="{{ asset('/socket.io/socket.io.js'); }}" &gt;&lt;/script&gt;

而且效果很好。

【问题讨论】:

  • 你能添加一些代码你是如何绑定socket.io和你的网络服务器的吗?
  • 发布在 web 控制台中执行的 socket.io.js 请求。
  • 所以这是同样的问题!!!

标签: php node.js sockets laravel laravel-4


【解决方案1】:

您是否已解决或找到任何解决方案?我有同样的问题,虽然当你把你的 IP 地址放在你的io.connect parameter 上时它应该可以工作。

例子:

io.connect("YOUR_IP_ADDRESS:4000")

【讨论】:

    猜你喜欢
    • 2015-05-21
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 2018-09-13
    • 2012-05-23
    • 1970-01-01
    • 2017-03-06
    相关资源
    最近更新 更多