2013-05-03 17 views
8

Sto provando a creare un client javascript per il mio server Thrift. Il server è attivo e funzionante e posso ricevere chiamate al server che funziona con un client PHP. Non riesco a capire il client javascript.Trasporto di scarto in javascript client

In particolare, l'istanziazione del trasporto mi confonde. Il tutorial in http://thrift.apache.org/tutorial/js/ spettacoli:

function calc() { 
    var transport = new Thrift.Transport("/thrift/service/tutorial/"); 
    var protocol = new Thrift.Protocol(transport); 
    var client = new CalculatorClient(protocol); 

Quando faccio questo, ottengo un HTTP 404 su "/ var/www/risparmio/servizio/Tutorial /"

ho trovato uno o due altri esempi che usa

Ma questo mi dà anche un 404.

Non ho mai visto una spiegazione di ciò che dovrei passare al costruttore di Transport in javascript. Nel mio codice PHP, creo un socket e poi lo passo al costruttore del Transport. Tuttavia, javascript si lamenta che Thrift.Socket() non è un costruttore.

Il tutorial su http://thrift.apache.org/tutorial/js/ non è di grande aiuto. Dice:

La prima cosa per usare i file di Thrift è impostare il tuo protocollo di trasporto . In questo momento, supporta solo AJAX ed è come seguente:

var transport = new Thrift.Transport("/thrift/service/tutorial/"); 

Non c'è descrizione di ciò che il percorso passato al costruttore dovrebbe essere.

Sono perso su questo. Che cosa passo al costruttore di trasporti in javascript?

risposta

1

L'argomento è un URL di un endpoint di un sito Web che funge da server di risparmio che utilizza il processore HTTP e il protocollo JSON. Il codice sorgente contiene un java test server example che può funzionare con un client di questo tipo.

Per il proprio server, dovrebbe essere in grado di fungere da server Web e gestire cose come CORS per richieste interdominio dal proprio client js.

1

Penso che lo yiding della risposta ti abbia identificato il problema. Non ho una risposta completa, ma posso darti alcuni link che potrebbero aiutarti a capire. Se stai scrivendo il tuo server in PHP, potrebbe esserti utile il this question. Se stai scrivendo il tuo server in Java, il numero this blog post può essere utile per i collegamenti a this sample code.

0

Le risposte di cui sopra hanno già dato sufficiente chiarezza.

Tuttavia, per rendere le cose un po 'più chiare, assumendo che il proprio server sia localhost e sia in esecuzione sulla porta 8080.

Diamo il nome del progetto sia Tutorial_service e endpoint nel progetto di server essere teach_thrift poi si deve passare URL, seguito

var transport = new Thrift.Transport("http://localhost:8080/Tutorial_service/teach_thrift"); 

Dovrebbe terrà in corso ..:)

1

Per utilizzare un client Javascript è necessario un server di Thrift HTTP (ad esempio quello evidenziato dallo yiding). È inoltre necessario utilizzare TJSONProtocol.

I file su come far funzionare un server Thrift Java con un client di Thrift Javascript sono sparsi in tutta la sorgente. Li ho sconcertati insieme qui: https://github.com/LukeOwncloud/ThriftJavaJavascriptDemo

Problemi correlati