Foros del Web » Programando para Internet » PHP »

problema con react php

Estas en el tema de problema con react php en el foro de PHP en Foros del Web. hola estoy usando react php pero cada vez que me conecto al servidor por socket io no me dice nada mi codigo es el siguiente ...
  #1 (permalink)  
Antiguo 11/01/2013, 14:26
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
problema con react php

hola estoy usando react php pero cada vez que me conecto al servidor por socket io no me dice nada

mi codigo es el siguiente
php

Código PHP:

require 'vendor/autoload.php';

$loop = new ReactEventLoopStreamSelectLoop();
$socket = new ReactSocketServer($loop);
$http = new ReactHttpServer($socket$loop);


$http->on('request', function ($request$response) use (&$i) {
    
$i++;
    
$response->writeHead('200',array(
        
'Content-Type'=>'text/html',
        
'origins'=>'*'));
    
$response->write('<h1>Sample server created with Reactphp.</h1>');
    
$response->end();
});

$socket->on('connection', function ($conn)  {
   
    
$conn->on('message', function () {
         
         
$current->send('hola');

    });

    
});




$socket->listen(1337,'0.0.0.0');
$loop->run(); 

y el html es

Código HTML:
<!DOCTYPE html>
<html lang="en">
<head>
  <script type="text/javascript" src="socket.io.js"></script>
  <script type="text/javascript">
    var socket = new io.Socket(null, {port: 1337});
 
    socket.connect();
    socket.on('message', function(message){
        document.getElementById('divTime').innerHTML = message;
    });
    function GetServerTime() {
        socket.send('');
    }
  </script>
</head>
<body>
    <div id="divTime"></div>
    <input type="button" value="Get Server Time" onclick="GetServerTime();">
</body>
</html> 
cuando me conecto me sale esto en el navegador

Código:
Unexpected response code: 200 
XMLHttpRequest cannot load http://localhost:1337/socket.io/xhr-polling//1357935827882. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
  #2 (permalink)  
Antiguo 11/01/2013, 14:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problema con react php

¿React es una función de alguna librería? Porque del core de PHP, que yo sepa no hay algo que empiece con react.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/01/2013, 14:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con react php

React
http://reactphp.org/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 11/01/2013, 15:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con react php

Ya volví, acabo de probar React y me funciona perfectamente, sin embargo no puedo hacer funcionar Socket.IO.

Al volver la consola y hacer CURL de la misma URL si veo resultados, o sea que Socket.IO si hace el request pero algo mas lo detiene y no se ejecutan los callbacks en el cliente.

Así que con eso he comprobado que no es problema de código PHP.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 11/01/2013, 15:47
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: problema con react php

acabo de probar este codigo


Código PHP:
<?php 
namespace ReactSocket
;
/*
* copiar esta liberia dendtro de la carpeta 
*  vendor/react/react/src/React/Socket
*/
class Router
{
    private 
$routes;

    public function 
__construct(array $routes)
    {
        
$this->routes $routes;
    }

    public function 
__invoke($request$response)
    {
        foreach (
$this->routes as $pattern => $controller) {
            if (
$this->requestMatchesPattern($request$pattern)) {
                
$controller($request$response);
                return;
            }
        }

        
$this->handleNotFound($request$response);
    }

    protected function 
requestMatchesPattern($request$pattern)
    {
        return 
$pattern === $request->getPath();
    }

    protected function 
handleNotFound($request$response)
    {
        
$response->writeHead(404, array('Content-Type' => 'text/plain'));
        
$response->end("We are sorry to inform you that the requested resource does not exist.");
    }
}
Código PHP:


require 'vendor/autoload.php';

$loop ReactEventLoopFactory::create();
$socket = new ReactSocketServer($loop);
$http = new ReactHttpServer($socket);

$router = new ReactSocketRouter(array(

       
'/' => function ($request$response) use ($loop) {
            
$response->writeHead(200, array('Content-Type' => 'text/html'));

            
$fd fopen('index.html''r');
            
$template = new ReactStreamStream($fd$loop);
            
$template->pipe($response);
        },
        
'/message' => function ($request$response) {
            
$response->writeHead(200);
            
$response->write('hola');
            
$response->end();
        },  
         
'/socket.io/xhr-polling/' => function ($request$response) {
            
$response->writeHead(200);
          
            
$response->end();
        },     
));

$http->on('request'$router);


$socket->listen(1337,'0.0.0.0');
$loop->run(); 
luego de eso la libreria me pide esto

Código:
Unexpected response code: 404 
GET http://localhost:1337/socket.io/xhr-polling//1357940610802 404 (Not Found)
al parecer no existe este recurso claro porque no esta en el router
pero no se si ese ruteo debe existir en la libereria nativa de socketio
  #6 (permalink)  
Antiguo 11/01/2013, 16:29
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 137
Respuesta: problema con react php

esque hay que recordar que socketio no son sockets puros, y tu estas creando un websocket, no un socket de socketio quizas por eso la libreria de socketio no te funciona
__________________
>> abimaelmartell.com
  #7 (permalink)  
Antiguo 11/01/2013, 16:38
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: problema con react php

a ok hahahah y que libreria nos recomiendas
  #8 (permalink)  
Antiguo 11/01/2013, 16:44
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 137
Respuesta: problema con react php

pues una vez usé (pero no mucho) ésta
https://github.com/gimite/web-socket-js
si buscas en google websockets encontraras muchos tutoriales
Saludos
__________________
>> abimaelmartell.com

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:17.