Resultados 1 al 6 de 6

Tema: [Resuelto] Llamar aplicación node.js desde aplicación symfony

  1. #1
    Pajarito Nuevo
    Avatar de efeferrari
    Fecha de ingreso
    11 Nov, 07
    Ubicación
    Fantasy Island, Liberty city
    Mensajes
    127

    [Resuelto] Llamar aplicación node.js desde aplicación symfony

    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:
    Código PHP:
    <script type="text/javascript" src="/js/socket.io/socket.io.js"></script> 
    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)

    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?

  2. #2
    Enajenado

    Avatar de [VJ]
    Fecha de ingreso
    10 Jan, 06
    Ubicación
    Santiago, Chile
    Mensajes
    10,294

    Re: Llamar aplicación node.js desde aplicación symfony

    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


  3. #3
    Pajarito Nuevo
    Avatar de efeferrari
    Fecha de ingreso
    11 Nov, 07
    Ubicación
    Fantasy Island, Liberty city
    Mensajes
    127

    Re: Llamar aplicación node.js desde aplicación symfony

    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"

  4. #4
    Papurri Avatar de xopher
    Fecha de ingreso
    30 Jul, 11
    Ubicación
    Quilpué
    Mensajes
    89

    Re: Llamar aplicación node.js desde aplicación symfony

    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>

  5. #5
    Pajarito Nuevo
    Avatar de efeferrari
    Fecha de ingreso
    11 Nov, 07
    Ubicación
    Fantasy Island, Liberty city
    Mensajes
    127

    Re: Llamar aplicación node.js desde aplicación symfony

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

  6. #6
    Pajarito Nuevo
    Avatar de efeferrari
    Fecha de ingreso
    11 Nov, 07
    Ubicación
    Fantasy Island, Liberty city
    Mensajes
    127

    Re: Llamar aplicación node.js desde aplicación symfony

    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
    Código PHP:
    <?php use_javascript('socket.io/socket.io.js'); ?>
    Tenía que poner directamente
    Código PHP:
    <script type="text/javascript" src="http://loclalhost:8080/socket.io/socket.io.js"></script> 
    Sin usar el use_javascript();

    Y eso.

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*