2011-09-28 14 views

risposta

3

Nel risparmio ci sono 2 cose importanti: protocollo e trasporto. Il protocollo definisce come vengono serializzati i dati nel flusso di dati. E il trasporto definisce in che modo questi flussi di dati si scambiano tra le diverse stazioni comunicanti.

C'è un protocollo json in parsimonia che è supportato da javascript, ma per quanto riguarda i trasporti, penso che Thrift supporti solo 2 transports raw e http. In seguito può essere utilizzato per richiamare l'operazione su un server HTTP e recuperare il risultato da esso, ma non viceversa in quanto ne hai bisogno.

Credo che si potrebbe essere in grado di utilizzare il protocollo JSON, ma si avrebbe bisogno di rotolare le maniche e attuare proprio mezzo di trasporto WebSockets. Questo potrebbe essere un compito non banale.

+0

Che cosa significa "Il livello di trasporto può utilizzare AJAX o WebSockets". fonte: https://thrift.apache.org/tutorial/js – FaaduBaalak

1

partire v.0.9.0 of Thrift, la risposta è no.

Sul lato client, il javascript generato utilizza AJAX per il suo trasporto come mostrato nella libreria Thirft.js, quindi se un client dovesse utilizzare un WebSocket, quindi il trasporto in Thrift deve essere modificato.

Sul lato server, il codice Java mostra un server socket, ma credo che non abbia l'handshaking necessario per il codice lato server WebSocket. Di nuovo, probabilmente sarà aggiunto in qualche modo facilmente. Probabilmente ha più senso usare jWebSocket come server e le classi di oggetti Java create da parsimonia rispetto alla versione Thrift del server. Puoi controllare il codice per conoscerlo meglio in Thrift. vedi/lib/java/src/org/apache/parsimonia/sezione del tronco in Thrift.