No me manejo en Node.JS, pero me imagino que los servicios que levantan las aplicaciones de Node.JS y Symphony están corriendo de forma independiente en puertos distintos, cierto?
Tengo un proyecto de prueba en symfony, el cual le quiero dar actualización en tiempo real. Además, tengo otra aplicación hecha en node.js que se encarga de toda la cuestión, usando socket.io, http, mysql y express.
Como toda aplicación symfony, los js se ponen en symfonyproject/web/js/
en la carpeta js tengo lo siguiente:
-rw-r--r-- app.js
drwxr-xr-x node_modules
-rw-r--r-- package.json
-rw-r--r-- stacks.out
y en la vista que corresponde, declaro la app node con:
Según un chat de ejemplo que vi, la estructura de archivos era la misma que tengo yo y en <script> se pone la ruta a socket.io (aunque este archivo no existe bajo ese nombre)Código PHP:<script type="text/javascript" src="/js/socket.io/socket.io.js"></script>
Empecé con node.js hace dos días y tengo la sospecha que tengo un problema de routing o quizá porque el archivo html donde se ejecutará la app node.js todo no está en la misma carpeta.
Por si no me expliqué bien, en el chat de ejemplo que vi, el archivo app.js (servidor) y el archivo index.html estaban en la misma carpeta. En el caso mio, tengo el app.js y la vista "no existe" ya que es generada por el controlador en symfony.
Consulté en el IRC de node.js y me respondieron que podría ser que al llamar la app node.js estaba poniendo la ruta relativa al archivo, en vez de la ruta del servidor node.js... osea, en vez de poner src="/js/socket.io/socket.io.js" tendría que ser src="127.0.0.1:8080"
Alguien tiene idea de como puedo arreglar esto?![]()
No me manejo en Node.JS, pero me imagino que los servicios que levantan las aplicaciones de Node.JS y Symphony están corriendo de forma independiente en puertos distintos, cierto?
Cotiza tu notebook en SoloNotebooks
Arma tu tarro en SoloHardware
Encuentra tu nuevo LCD/LED en SoloElectro
Symfony está en el 80 (por defecto) y mi app node.js en el 8080
---------- Post added at 17:05 ---------- Previous post was at 17:01 ----------
Me olvidé de decir que al acceder al proyecto, firebug arroja error 404:
"NetworkError: 404 Not Found - http://proyecto/js/socket.io/socket.io.js"
Si tienes problemas con escribirlo en duro, se recomienda hacerlo de la siguiente manera ej:
<script type="text/javascript" src="<?php echo $view['assets']->getUrl('js/script.js') ?>"></script>
Mi resultado sigue siendo exactamente el mismo a pesar del
:'(Código PHP:<?php use_javascript('socket.io/socket.io.js'); ?>
(PD: El método symfony de "use_javascript();" asume la carpeta /js/)
Se me había olvidado poner que logré resolverlo.
Como Node.Js levanta su propio servirdor, ni siquiera es necesario poner los archivos dentro del proyecto sf.
Para que todo funcione tengo que hacer la llamada completa como si fuera otro servidor, por ende, en vez de poner en symfony
Tenía que poner directamenteCódigo PHP:<?php use_javascript('socket.io/socket.io.js'); ?>
Sin usar el use_javascript();Código PHP:<script type="text/javascript" src="http://loclalhost:8080/socket.io/socket.io.js"></script>
Y eso.