Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema Scrittura/lettura Socket

    DEVO INTERROGARE UN SOCKET, RIESCO A CONNETTERMI AL SOCKET TRAMITE fsockopen, POI DEVO SCRIVERE UNA RICHIESTA IN XML, MA NEL MOMENTO IN CUI DOVREI LEGGERE LA RISPOSTA ESCE UN ERRORE
    "
    Fatal error: Maximum execution time of 30 seconds exceeded in c:\programmi\easyphp1-7\www\google\nuova cartella\server.php on line 53"
    LA LINEA 53 è QUELLA DELLA FGETS " $user_query = fgets($sk,4096);"

    AIUTATEMI P.S. SE METTO LA FUNZIONE set_time_limit(0) NON CAMBIA NULLA INVECE DI STAMPARE L'ERRORE CARICA ALL'INFINITO



    <?
    $target="google/Nuova%20cartella/xml_receiver.php";
    $protocol="HTTP/1.0" ;
    $host="hermione.info.uniroma2.it" ;

    $apri="
    <?xml version='1.0' encoding='ISO-8859-1'?>;
    <query_session id='0'>
    <request>
    <gui_state>
    <user_query>CALCIO
    </user_query>
    <gui_language>it
    </gui_language>
    <target_language>en
    </target_language>
    <interaction_level>0.5
    </interaction_level>
    </gui_state>
    </request>
    </query_session>";

    $br="\r\n" ;
    $sk=fsockopen('hermione.info.uniroma2.it',3300,$er rnum,$errstr,60) ;

    if($sk==FALSE){

    echo " $errnum, $errstr";}

    else {

    echo"connesso";

    $headers="POST ".$protocol.$target.$br ;
    $headers.="Host: ".$host.$br ;
    $headers.="Content-Type: text/xml".$br ;
    $headers.="Content-Length: ".strlen($apri).$br.$br ;

    fputs($sk, $headers.$apri) ;


    while(!feof($sk))
    {


    $user_query = fgets($sk,4096);

    echo($user_query);
    }
    }
    fclose($sk) ;


    ?>

  2. #2
    Aggiungi all'inizio della pagina:

    Codice PHP:
    <?
    set_time_limit
    (0);
    //... resto

  3. #3
    già fatto, succede che carica all'infinito!!
    ci sono problemi a livello di codice?
    la scrittura e la lettura del socket è giusta?

  4. #4
    Se carica all'infinito vuol dire che quella pagina carica all'infinito e la connessione rimane aperta.
    Hai provato a dare li stessi comandi tramite un netcat via shell linux?

    Cosa risponde il socket via shell?

    Se, per esempio, alla fine della pagina (remota) metti un (per esempio):
    Codice PHP:
    echo "\nfatto\n"
    Lo puoi intercettare con qualcosa del genere:

    Codice PHP:
    //....

    while(!feof($sk)) {
      
    $user_query fgets($sk,4096);
      echo(
    $user_query);
      if (
    eregi("fatto",$user_query)) { break; }
    }

    fclose($sk) ;
    //.... 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.