2013-10-11 6 views
0

J'ai créé une application de discussion Web en utilisant Node.js, socket.io et express. Ça fonctionne bien.
Maintenant, je veux déplacer mon application de chat sur mon site mais j'ai des problèmes avec les chemins.
Mon site est basé sur Laravel framework et a cette structure.Socket.io - Impossible de charger le fichier

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

mises en page d'utilisation des Laravel donc dans le fichier index.php, URL::asset('/path-to-file') fonctionne bien pour tous les fichiers dans le répertoire public. y compris les feuilles de style et le javascript.

Dans mon dossier index.php J'appelle javascripts ainsi:

<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> // ??? 

à la fois jquery1-10.js et chat.js charges bien
mais ne peut pas charger socket.io fichier. Je pense que socket.io crée automatiquement! et je ne sais pas où c'est.
Quelqu'un peut-il m'aider avec ça?

ce fichier est 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"); 
}); 

Et ceci est mon fichier chat.js -> côté client.

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

Résolu bien

, j'ai utilisé cette ligne:
<script src="http://localhost:4000/socket.io/socket.io.js" ></script>

au lieu de ceci:
<script src="{{ asset('/socket.io/socket.io.js'); }}" ></script>

et cela a bien fonctionné.

+0

Pouvez-vous ajouter un code comment allez-vous lient socket.io et votre serveur web? – Sriharsha

+0

poste la demande de socket.io.js exécutée dans la console Web. – vbrmnd

+0

donc c'était le même problème !!! – vbrmnd

Répondre

1

Avez-vous corrigé ou trouvé une solution pour cela? J'ai le même problème, même si cela devrait fonctionner lorsque vous mettez votre adresse IP sur votre io.connect parameter.

Exemple:

io.connect("YOUR_IP_ADDRESS:4000") 
Questions connexes