在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Java语言基础 → 使用thrift、websocket在javascript和cpp之间建立rpc调用

使用thrift、websocket在javascript和cpp之间建立rpc调用

Java语言基础

下载此实例
  • 开发语言:Java
  • 实例大小:2.41M
  • 下载次数:4
  • 浏览次数:76
  • 发布时间:2023-05-19
  • 实例类别:Java语言基础
  • 发 布 人:js2021
  • 文件格式:.rar
  • 所需积分:2

实例介绍

【实例简介】使用thrift、websocket在javascript和cpp之间建立rpc调用
使用thrift、websocket在javascript和c 之间建立rpc调用机制。 如果要使用js html来写界面,cpp来写底层业务逻辑,这就非常有用了。 当然,如果底层不用cpp来写,也可以参考本代码的js对thrift的rpc包装。

【实例截图】

from clipboard

【核心代码】
文件清单
└── js_cpp_rpc
    ├── aclocal
    │   ├── ax_boost_base.m4
    │   ├── ax_check_openssl.m4
    │   ├── ax_dmd.m4
    │   ├── ax_javac_and_java.m4
    │   ├── ax_lib_event.m4
    │   ├── ax_lib_zlib.m4
    │   ├── ax_prog_perl_modules.m4
    │   ├── ax_signed_right_shift.m4
    │   └── ax_thrift_internal.m4
    ├── bootstrap.sh
    ├── CHANGES
    ├── cleanup.sh
    ├── compiler
    │   └── cpp
    │       ├── compiler.sln
    │       ├── compiler.vcxproj
    │       ├── compiler.vcxproj.filters
    │       ├── Makefile.am
    │       ├── README
    │       ├── README_Windows.txt
    │       ├── src
    │       │   ├── generate
    │       │   │   ├── t_as3_generator.cc
    │       │   │   ├── t_c_glib_generator.cc
    │       │   │   ├── t_cocoa_generator.cc
    │       │   │   ├── t_cpp_generator.cc
    │       │   │   ├── t_csharp_generator.cc
    │       │   │   ├── t_delphi_generator.cc
    │       │   │   ├── t_d_generator.cc
    │       │   │   ├── t_erl_generator.cc
    │       │   │   ├── t_generator.cc
    │       │   │   ├── t_generator.h
    │       │   │   ├── t_generator_registry.h
    │       │   │   ├── t_go_generator.cc
    │       │   │   ├── t_hs_generator.cc
    │       │   │   ├── t_html_generator.cc
    │       │   │   ├── t_html_generator.h
    │       │   │   ├── t_java_generator.cc
    │       │   │   ├── t_javame_generator.cc
    │       │   │   ├── t_js_generator.cc
    │       │   │   ├── t_ocaml_generator.cc
    │       │   │   ├── t_oop_generator.h
    │       │   │   ├── t_perl_generator.cc
    │       │   │   ├── t_php_generator.cc
    │       │   │   ├── t_py_generator.cc
    │       │   │   ├── t_rb_generator.cc
    │       │   │   ├── t_st_generator.cc
    │       │   │   └── t_xsd_generator.cc
    │       │   ├── globals.h
    │       │   ├── main.cc
    │       │   ├── main.h
    │       │   ├── md5.c
    │       │   ├── md5.h
    │       │   ├── parse
    │       │   │   ├── parse.cc
    │       │   │   ├── t_base_type.h
    │       │   │   ├── t_const.h
    │       │   │   ├── t_const_value.h
    │       │   │   ├── t_container.h
    │       │   │   ├── t_doc.h
    │       │   │   ├── t_enum.h
    │       │   │   ├── t_enum_value.h
    │       │   │   ├── t_field.h
    │       │   │   ├── t_function.h
    │       │   │   ├── t_list.h
    │       │   │   ├── t_map.h
    │       │   │   ├── t_program.h
    │       │   │   ├── t_scope.h
    │       │   │   ├── t_service.h
    │       │   │   ├── t_set.h
    │       │   │   ├── t_struct.h
    │       │   │   ├── t_typedef.h
    │       │   │   └── t_type.h
    │       │   ├── platform.h
    │       │   ├── thriftl.cc
    │       │   ├── thriftl.ll
    │       │   ├── thrifty.cc
    │       │   ├── thrifty.h
    │       │   ├── thrifty.yy
    │       │   └── windows
    │       │       ├── config.h
    │       │       ├── version.h
    │       │       └── version.h.in
    │       ├── test_parser.sh
    │       └── version.h.in
    ├── configure.ac
    ├── contrib
    │   ├── async-test
    │   │   ├── aggr.thrift
    │   │   ├── Makefile
    │   │   ├── test-leaf.py
    │   │   └── test-server.cpp
    │   ├── create-debian-packages.sh
    │   ├── debian
    │   │   ├── changelog
    │   │   ├── compat
    │   │   ├── control
    │   │   ├── copyright
    │   │   ├── debian
    │   │   ├── dirs
    │   │   ├── docs
    │   │   ├── libthrift0.install
    │   │   ├── libthrift-dev.install
    │   │   ├── php5-thrift.dirs
    │   │   ├── rules
    │   │   ├── substvars
    │   │   ├── thrift-doc.docs
    │   │   └── thrift-doc.install
    │   ├── fb303
    │   │   ├── acinclude.m4
    │   │   ├── aclocal
    │   │   │   └── ax_boost_base.m4
    │   │   ├── bootstrap.sh
    │   │   ├── configure.ac
    │   │   ├── cpp
    │   │   │   ├── FacebookBase.cpp
    │   │   │   ├── FacebookBase.h
    │   │   │   ├── Makefile.am
    │   │   │   ├── ServiceTracker.cpp
    │   │   │   └── ServiceTracker.h
    │   │   ├── global_footer.mk
    │   │   ├── global_header.mk
    │   │   ├── if
    │   │   │   └── fb303.thrift
    │   │   ├── java
    │   │   │   ├── build.xml
    │   │   │   └── src
    │   │   │       └── FacebookBase.java
    │   │   ├── LICENSE
    │   │   ├── Makefile.am
    │   │   ├── php
    │   │   │   └── FacebookBase.php
    │   │   ├── py
    │   │   │   ├── fb303
    │   │   │   │   └── FacebookBase.py
    │   │   │   ├── fb303_scripts
    │   │   │   │   ├── fb303_simple_mgmt.py
    │   │   │   │   └── __init__.py
    │   │   │   ├── Makefile.am
    │   │   │   └── setup.py
    │   │   ├── README
    │   │   ├── TClientInfo.cpp
    │   │   └── TClientInfo.h
    │   ├── mingw-cross-compile.sh
    │   ├── parse_profiling.py
    │   ├── thrift_dump.cpp
    │   ├── thrift.el
    │   ├── thrift.spec
    │   ├── thrift.vim
    │   ├── transport-sample
    │   │   ├── client
    │   │   │   ├── client.cpp
    │   │   │   ├── client.vcxproj
    │   │   │   ├── client.vcxproj.filters
    │   │   │   ├── ReadMe.txt
    │   │   │   ├── stdafx.cpp
    │   │   │   ├── stdafx.h
    │   │   │   └── targetver.h
    │   │   ├── config.h
    │   │   ├── Makefile
    │   │   ├── README.txt
    │   │   ├── Sample.thrift
    │   │   ├── server
    │   │   │   ├── ReadMe.txt
    │   │   │   ├── server.cpp
    │   │   │   ├── server.vcxproj
    │   │   │   ├── server.vcxproj.filters
    │   │   │   ├── stdafx.cpp
    │   │   │   ├── stdafx.h
    │   │   │   └── targetver.h
    │   │   ├── ThriftCommon.cpp
    │   │   ├── ThriftCommon.h
    │   │   ├── thriftme.bat
    │   │   ├── thriftme.sh
    │   │   └── transport-sample.sln
    │   └── zeromq
    │       ├── csharp
    │       │   ├── AssemblyInfo.cs
    │       │   ├── Main.cs
    │       │   ├── ThriftZMQ.csproj
    │       │   ├── ThriftZMQ.sln
    │       │   ├── TZmqClient.cs
    │       │   └── TZmqServer.cs
    │       ├── Makefile
    │       ├── README
    │       ├── storage.thrift
    │       ├── test-client.cpp
    │       ├── test-client.py
    │       ├── test-receiver.cpp
    │       ├── test-sender.cpp
    │       ├── test-server.cpp
    │       ├── test-server.py
    │       ├── TZmqClient.cpp
    │       ├── TZmqClient.h
    │       ├── TZmqClient.py
    │       ├── TZmqServer.cpp
    │       ├── TZmqServer.h
    │       └── TZmqServer.py
    ├── CONTRIBUTORS
    ├── DISCLAIMER
    ├── doap.rdf
    ├── doc
    │   ├── lgpl-2.1.txt
    │   ├── old-thrift-license.txt
    │   ├── otp-base-license.txt
    │   ├── thrift.bnf
    │   ├── thrift-sasl-spec.txt
    │   └── thrift.tex
    ├── lib
    │   ├── as3
    │   │   ├── build.xml
    │   │   └── src
    │   │       └── org
    │   │           └── apache
    │   │               └── thrift
    │   │                   ├── AbstractMethodError.as
    │   │                   ├── meta_data
    │   │                   │   ├── FieldMetaData.as
    │   │                   │   ├── FieldValueMetaData.as
    │   │                   │   ├── ListMetaData.as
    │   │                   │   ├── MapMetaData.as
    │   │                   │   ├── SetMetaData.as
    │   │                   │   └── StructMetaData.as
    │   │                   ├── protocol
    │   │                   │   ├── TBinaryProtocol.as
    │   │                   │   ├── TField.as
    │   │                   │   ├── TList.as
    │   │                   │   ├── TMap.as
    │   │                   │   ├── TMessage.as
    │   │                   │   ├── TMessageType.as
    │   │                   │   ├── TProtocol.as
    │   │                   │   ├── TProtocolError.as
    │   │                   │   ├── TProtocolFactory.as
    │   │                   │   ├── TProtocolUtil.as
    │   │                   │   ├── TSet.as
    │   │                   │   ├── TStruct.as
    │   │                   │   └── TType.as
    │   │                   ├── Set.as
    │   │                   ├── TApplicationError.as
    │   │                   ├── TBase.as
    │   │                   ├── TError.as
    │   │                   ├── TFieldRequirementType.as
    │   │                   ├── TProcessor.as
    │   │                   └── transport
    │   │                       ├── TFullDuplexHttpClient.as
    │   │                       ├── THttpClient.as
    │   │                       ├── TTransport.as
    │   │                       └── TTransportError.as
    │   ├── c_glib
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── src
    │   │   │   └── thrift
    │   │   │       ├── processor
    │   │   │       │   ├── thrift_processor.c
    │   │   │       │   └── thrift_processor.h
    │   │   │       ├── protocol
    │   │   │       │   ├── thrift_binary_protocol.c
    │   │   │       │   ├── thrift_binary_protocol_factory.c
    │   │   │       │   ├── thrift_binary_protocol_factory.h
    │   │   │       │   ├── thrift_binary_protocol.h
    │   │   │       │   ├── thrift_protocol.c
    │   │   │       │   ├── thrift_protocol_factory.c
    │   │   │       │   ├── thrift_protocol_factory.h
    │   │   │       │   └── thrift_protocol.h
    │   │   │       ├── server
    │   │   │       │   ├── thrift_server.c
    │   │   │       │   ├── thrift_server.h
    │   │   │       │   ├── thrift_simple_server.c
    │   │   │       │   └── thrift_simple_server.h
    │   │   │       ├── thrift_application_exception.c
    │   │   │       ├── thrift_application_exception.h
    │   │   │       ├── thrift.c
    │   │   │       ├── thrift.h
    │   │   │       ├── thrift_struct.c
    │   │   │       ├── thrift_struct.h
    │   │   │       └── transport
    │   │   │           ├── thrift_buffered_transport.c
    │   │   │           ├── thrift_buffered_transport.h
    │   │   │           ├── thrift_framed_transport.c
    │   │   │           ├── thrift_framed_transport.h
    │   │   │           ├── thrift_memory_buffer.c
    │   │   │           ├── thrift_memory_buffer.h
    │   │   │           ├── thrift_server_socket.c
    │   │   │           ├── thrift_server_socket.h
    │   │   │           ├── thrift_server_transport.c
    │   │   │           ├── thrift_server_transport.h
    │   │   │           ├── thrift_socket.c
    │   │   │           ├── thrift_socket.h
    │   │   │           ├── thrift_transport.c
    │   │   │           ├── thrift_transport_factory.c
    │   │   │           ├── thrift_transport_factory.h
    │   │   │           └── thrift_transport.h
    │   │   ├── test
    │   │   │   ├── glib.suppress
    │   │   │   ├── Makefile.am
    │   │   │   ├── testbinaryprotocol.c
    │   │   │   ├── testbufferedtransport.c
    │   │   │   ├── testdebugproto.c
    │   │   │   ├── testframedtransport.c
    │   │   │   ├── testmemorybuffer.c
    │   │   │   ├── testoptionalrequired.c
    │   │   │   ├── testsimpleserver.c
    │   │   │   ├── teststruct.c
    │   │   │   ├── testthrifttest.c
    │   │   │   ├── testthrifttestclient.cpp
    │   │   │   └── testtransportsocket.c
    │   │   └── thrift_c_glib.pc.in
    │   ├── cocoa
    │   │   ├── README
    │   │   └── src
    │   │       ├── protocol
    │   │       │   ├── TBinaryProtocol.h
    │   │       │   ├── TBinaryProtocol.m
    │   │       │   ├── TProtocolException.h
    │   │       │   ├── TProtocolException.m
    │   │       │   ├── TProtocolFactory.h
    │   │       │   ├── TProtocol.h
    │   │       │   ├── TProtocolUtil.h
    │   │       │   └── TProtocolUtil.m
    │   │       ├── server
    │   │       │   ├── TSocketServer.h
    │   │       │   └── TSocketServer.m
    │   │       ├── TApplicationException.h
    │   │       ├── TApplicationException.m
    │   │       ├── TException.h
    │   │       ├── TException.m
    │   │       ├── TObjective-C.h
    │   │       ├── TProcessorFactory.h
    │   │       ├── TProcessor.h
    │   │       ├── transport
    │   │       │   ├── THTTPClient.h
    │   │       │   ├── THTTPClient.m
    │   │       │   ├── TMemoryBuffer.h
    │   │       │   ├── TMemoryBuffer.m
    │   │       │   ├── TNSFileHandleTransport.h
    │   │       │   ├── TNSFileHandleTransport.m
    │   │       │   ├── TNSStreamTransport.h
    │   │       │   ├── TNSStreamTransport.m
    │   │       │   ├── TSocketClient.h
    │   │       │   ├── TSocketClient.m
    │   │       │   ├── TTransportException.h
    │   │       │   ├── TTransportException.m
    │   │       │   └── TTransport.h
    │   │       ├── TSharedProcessorFactory.h
    │   │       └── TSharedProcessorFactory.m
    │   ├── cpp
    │   │   ├── libthriftnb.vcxproj
    │   │   ├── libthriftnb.vcxproj.filters
    │   │   ├── libthrift.vcxproj
    │   │   ├── libthrift.vcxproj.filters
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── README.SSL
    │   │   ├── README_WINDOWS
    │   │   ├── src
    │   │   │   └── thrift
    │   │   │       ├── async
    │   │   │       │   ├── TAsyncBufferProcessor.h
    │   │   │       │   ├── TAsyncChannel.cpp
    │   │   │       │   ├── TAsyncChannel.h
    │   │   │       │   ├── TAsyncDispatchProcessor.h
    │   │   │       │   ├── TAsyncProcessor.h
    │   │   │       │   ├── TAsyncProtocolProcessor.cpp
    │   │   │       │   ├── TAsyncProtocolProcessor.h
    │   │   │       │   ├── TEvhttpClientChannel.cpp
    │   │   │       │   ├── TEvhttpClientChannel.h
    │   │   │       │   ├── TEvhttpServer.cpp
    │   │   │       │   └── TEvhttpServer.h
    │   │   │       ├── concurrency
    │   │   │       │   ├── BoostMonitor.cpp
    │   │   │       │   ├── BoostMutex.cpp
    │   │   │       │   ├── BoostThreadFactory.cpp
    │   │   │       │   ├── BoostThreadFactory.h
    │   │   │       │   ├── Exception.h
    │   │   │       │   ├── FunctionRunner.h
    │   │   │       │   ├── Monitor.cpp
    │   │   │       │   ├── Monitor.h
    │   │   │       │   ├── Mutex.cpp
    │   │   │       │   ├── Mutex.h
    │   │   │       │   ├── PlatformThreadFactory.h
    │   │   │       │   ├── PosixThreadFactory.cpp
    │   │   │       │   ├── PosixThreadFactory.h
    │   │   │       │   ├── Thread.h
    │   │   │       │   ├── ThreadManager.cpp
    │   │   │       │   ├── ThreadManager.h
    │   │   │       │   ├── TimerManager.cpp
    │   │   │       │   ├── TimerManager.h
    │   │   │       │   ├── Util.cpp
    │   │   │       │   └── Util.h
    │   │   │       ├── config.h
    │   │   │       ├── cxxfunctional.h
    │   │   │       ├── processor
    │   │   │       │   ├── PeekProcessor.cpp
    │   │   │       │   ├── PeekProcessor.h
    │   │   │       │   └── StatsProcessor.h
    │   │   │       ├── protocol
    │   │   │       │   ├── TBase64Utils.cpp
    │   │   │       │   ├── TBase64Utils.h
    │   │   │       │   ├── TBinaryProtocol.h
    │   │   │       │   ├── TBinaryProtocol.tcc
    │   │   │       │   ├── TCompactProtocol.h
    │   │   │       │   ├── TCompactProtocol.tcc
    │   │   │       │   ├── TDebugProtocol.cpp
    │   │   │       │   ├── TDebugProtocol.h
    │   │   │       │   ├── TDenseProtocol.cpp
    │   │   │       │   ├── TDenseProtocol.h
    │   │   │       │   ├── TJSONProtocol.cpp
    │   │   │       │   ├── TJSONProtocol.h
    │   │   │       │   ├── TProtocolException.h
    │   │   │       │   ├── TProtocol.h
    │   │   │       │   ├── TProtocolTap.h
    │   │   │       │   └── TVirtualProtocol.h
    │   │   │       ├── qt
    │   │   │       │   ├── TQIODeviceTransport.cpp
    │   │   │       │   ├── TQIODeviceTransport.h
    │   │   │       │   ├── TQTcpServer.cpp
    │   │   │       │   └── TQTcpServer.h
    │   │   │       ├── server
    │   │   │       │   ├── TNonblockingServer.cpp
    │   │   │       │   ├── TNonblockingServer.h
    │   │   │       │   ├── TServer.cpp
    │   │   │       │   ├── TServerEventHandlerImpl.h
    │   │   │       │   ├── TServer.h
    │   │   │       │   ├── TSimpleServer.cpp
    │   │   │       │   ├── TSimpleServer.h
    │   │   │       │   ├── TThreadedServer.cpp
    │   │   │       │   ├── TThreadedServer.h
    │   │   │       │   ├── TThreadPoolServer.cpp
    │   │   │       │   └── TThreadPoolServer.h
    │   │   │       ├── TApplicationException.cpp
    │   │   │       ├── TApplicationException.h
    │   │   │       ├── TDispatchProcessor.h
    │   │   │       ├── Thrift.cpp
    │   │   │       ├── Thrift.h
    │   │   │       ├── TLogging.h
    │   │   │       ├── TProcessor.h
    │   │   │       ├── transport
    │   │   │       │   ├── TBufferTransports.cpp
    │   │   │       │   ├── TBufferTransports.h
    │   │   │       │   ├── TFDTransport.cpp
    │   │   │       │   ├── TFDTransport.h
    │   │   │       │   ├── TFileTransport.cpp
    │   │   │       │   ├── TFileTransport.h
    │   │   │       │   ├── THttpClient.cpp
    │   │   │       │   ├── THttpClient.h
    │   │   │       │   ├── THttpServer.cpp
    │   │   │       │   ├── THttpServer.h
    │   │   │       │   ├── THttpTransport.cpp
    │   │   │       │   ├── THttpTransport.h
    │   │   │       │   ├── TPipe.cpp
    │   │   │       │   ├── TPipe.h
    │   │   │       │   ├── TPipeServer.cpp
    │   │   │       │   ├── TPipeServer.h
    │   │   │       │   ├── TServerSocket.cpp
    │   │   │       │   ├── TServerSocket.h
    │   │   │       │   ├── TServerTransport.h
    │   │   │       │   ├── TShortReadTransport.h
    │   │   │       │   ├── TSimpleFileTransport.cpp
    │   │   │       │   ├── TSimpleFileTransport.h
    │   │   │       │   ├── TSocket.cpp
    │   │   │       │   ├── TSocket.h
    │   │   │       │   ├── TSocketPool.cpp
    │   │   │       │   ├── TSocketPool.h
    │   │   │       │   ├── TSSLServerSocket.cpp
    │   │   │       │   ├── TSSLServerSocket.h
    │   │   │       │   ├── TSSLSocket.cpp
    │   │   │       │   ├── TSSLSocket.h
    │   │   │       │   ├── TTransportException.cpp
    │   │   │       │   ├── TTransportException.h
    │   │   │       │   ├── TTransport.h
    │   │   │       │   ├── TTransportUtils.cpp
    │   │   │       │   ├── TTransportUtils.h
    │   │   │       │   ├── TVirtualTransport.h
    │   │   │       │   ├── TWebSocketTransport.cpp
    │   │   │       │   ├── TWebSocketTransport.h
    │   │   │       │   ├── TZlibTransport.cpp
    │   │   │       │   ├── TZlibTransport.h
    │   │   │       │   └── Websocket
    │   │   │       │       ├── base64
    │   │   │       │       │   ├── base64.cpp
    │   │   │       │       │   └── base64.h
    │   │   │       │       ├── md5
    │   │   │       │       │   ├── md5.cpp
    │   │   │       │       │   ├── md5.h
    │   │   │       │       │   ├── Md5Hash.cpp
    │   │   │       │       │   ├── md5_loc.h
    │   │   │       │       │   ├── md5_t.c
    │   │   │       │       │   └── md5 test.cpp
    │   │   │       │       ├── sha1
    │   │   │       │       │   ├── Makefile
    │   │   │       │       │   ├── Makefile.nt
    │   │   │       │       │   ├── sha1.cpp
    │   │   │       │       │   ├── sha1.h
    │   │   │       │       │   ├── shacmp.cpp
    │   │   │       │       │   ├── sha.cpp
    │   │   │       │       │   └── shatest.cpp
    │   │   │       │       ├── WebsocketDataMessage.h
    │   │   │       │       ├── WebsocketHandshakeMessage.cpp
    │   │   │       │       ├── WebsocketHandshakeMessage.h
    │   │   │       │       ├── WebsocketMessage.h
    │   │   │       │       ├── WebsocketProtocol.cpp
    │   │   │       │       └── WebsocketProtocol.h
    │   │   │       ├── TReflectionLocal.h
    │   │   │       ├── VirtualProfiling.cpp
    │   │   │       └── windows
    │   │   │           ├── config.h
    │   │   │           ├── force_inc.h
    │   │   │           ├── GetTimeOfDay.cpp
    │   │   │           ├── GetTimeOfDay.h
    │   │   │           ├── Operators.h
    │   │   │           ├── SocketPair.cpp
    │   │   │           ├── SocketPair.h
    │   │   │           ├── StdAfx.cpp
    │   │   │           ├── StdAfx.h
    │   │   │           ├── TargetVersion.h
    │   │   │           ├── tr1
    │   │   │           │   └── functional
    │   │   │           ├── TWinsockSingleton.cpp
    │   │   │           ├── TWinsockSingleton.h
    │   │   │           ├── WinFcntl.cpp
    │   │   │           └── WinFcntl.h
    │   │   ├── test
    │   │   │   ├── AllProtocolTests.cpp
    │   │   │   ├── AllProtocolTests.tcc
    │   │   │   ├── Base64Test.cpp
    │   │   │   ├── Benchmark.cpp
    │   │   │   ├── concurrency
    │   │   │   │   ├── Tests.cpp
    │   │   │   │   ├── ThreadFactoryTests.h
    │   │   │   │   ├── ThreadManagerTests.h
    │   │   │   │   └── TimerManagerTests.h
    │   │   │   ├── DebugProtoTest.cpp
    │   │   │   ├── DebugProtoTest_extras.cpp
    │   │   │   ├── DenseProtoTest.cpp
    │   │   │   ├── GenericHelpers.h
    │   │   │   ├── JSONProtoTest.cpp
    │   │   │   ├── Makefile.am
    │   │   │   ├── OptionalRequiredTest.cpp
    │   │   │   ├── processor
    │   │   │   │   ├── EventLog.cpp
    │   │   │   │   ├── EventLog.h
    │   │   │   │   ├── Handlers.h
    │   │   │   │   ├── ProcessorTest.cpp
    │   │   │   │   ├── proc.thrift
    │   │   │   │   ├── ServerThread.cpp
    │   │   │   │   └── ServerThread.h
    │   │   │   ├── RWMutexStarveTest.cpp
    │   │   │   ├── SpecializationTest.cpp
    │   │   │   ├── TBufferBaseTest.cpp
    │   │   │   ├── TFDTransportTest.cpp
    │   │   │   ├── TFileTransportTest.cpp
    │   │   │   ├── ThriftTest_extras.cpp
    │   │   │   ├── TMemoryBufferTest.cpp
    │   │   │   ├── TPipedTransportTest.cpp
    │   │   │   ├── TransportTest.cpp
    │   │   │   ├── UnitTestMain.cpp
    │   │   │   └── ZlibTest.cpp
    │   │   ├── thrift-nb.pc.in
    │   │   ├── thrift.pc.in
    │   │   ├── thrift-qt.pc.in
    │   │   ├── thrift.sln
    │   │   └── thrift-z.pc.in
    │   ├── csharp
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── src
    │   │   │   ├── Collections
    │   │   │   │   └── THashSet.cs
    │   │   │   ├── Properties
    │   │   │   │   ├── AssemblyInfo.cs
    │   │   │   │   └── AssemblyInfo.WP7.cs
    │   │   │   ├── Protocol
    │   │   │   │   ├── TBase64Utils.cs
    │   │   │   │   ├── TBase.cs
    │   │   │   │   ├── TBinaryProtocol.cs
    │   │   │   │   ├── TCompactProtocol.cs
    │   │   │   │   ├── TField.cs
    │   │   │   │   ├── TJSONProtocol.cs
    │   │   │   │   ├── TList.cs
    │   │   │   │   ├── TMap.cs
    │   │   │   │   ├── TMessage.cs
    │   │   │   │   ├── TMessageType.cs
    │   │   │   │   ├── TProtocol.cs
    │   │   │   │   ├── TProtocolException.cs
    │   │   │   │   ├── TProtocolFactory.cs
    │   │   │   │   ├── TProtocolUtil.cs
    │   │   │   │   ├── TSet.cs
    │   │   │   │   ├── TStruct.cs
    │   │   │   │   └── TType.cs
    │   │   │   ├── Server
    │   │   │   │   ├── TServer.cs
    │   │   │   │   ├── TSimpleServer.cs
    │   │   │   │   ├── TThreadedServer.cs
    │   │   │   │   └── TThreadPoolServer.cs
    │   │   │   ├── TApplicationException.cs
    │   │   │   ├── Thrift.csproj
    │   │   │   ├── Thrift.sln
    │   │   │   ├── Thrift.WP7.csproj
    │   │   │   ├── TProcessor.cs
    │   │   │   └── Transport
    │   │   │       ├── TBufferedTransport.cs
    │   │   │       ├── TFramedTransport.cs
    │   │   │       ├── THttpClient.cs
    │   │   │       ├── THttpHandler.cs
    │   │   │       ├── TServerSocket.cs
    │   │   │       ├── TServerTransport.cs
    │   │   │       ├── TSocket.cs
    │   │   │       ├── TStreamTransport.cs
    │   │   │       ├── TTransport.cs
    │   │   │       ├── TTransportException.cs
    │   │   │       └── TTransportFactory.cs
    │   │   └── ThriftMSBuildTask
    │   │       ├── Properties
    │   │       │   └── AssemblyInfo.cs
    │   │       ├── ThriftBuild.cs
    │   │       └── ThriftMSBuildTask.csproj
    │   ├── d
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── src
    │   │   │   └── thrift
    │   │   │       ├── async
    │   │   │       │   ├── base.d
    │   │   │       │   ├── libevent.d
    │   │   │       │   ├── socket.d
    │   │   │       │   └── ssl.d
    │   │   │       ├── base.d
    │   │   │       ├── codegen
    │   │   │       │   ├── async_client.d
    │   │   │       │   ├── async_client_pool.d
    │   │   │       │   ├── base.d
    │   │   │       │   ├── client.d
    │   │   │       │   ├── client_pool.d
    │   │   │       │   ├── idlgen.d
    │   │   │       │   └── processor.d
    │   │   │       ├── index.d
    │   │   │       ├── internal
    │   │   │       │   ├── algorithm.d
    │   │   │       │   ├── codegen.d
    │   │   │       │   ├── ctfe.d
    │   │   │       │   ├── endian.d
    │   │   │       │   ├── resource_pool.d
    │   │   │       │   ├── socket.d
    │   │   │       │   ├── ssl_bio.d
    │   │   │       │   ├── ssl.d
    │   │   │       │   ├── test
    │   │   │       │   │   ├── protocol.d
    │   │   │       │   │   └── server.d
    │   │   │       │   └── traits.d
    │   │   │       ├── protocol
    │   │   │       │   ├── base.d
    │   │   │       │   ├── binary.d
    │   │   │       │   ├── compact.d
    │   │   │       │   ├── json.d
    │   │   │       │   └── processor.d
    │   │   │       ├── server
    │   │   │       │   ├── base.d
    │   │   │       │   ├── nonblocking.d
    │   │   │       │   ├── simple.d
    │   │   │       │   ├── taskpool.d
    │   │   │       │   ├── threaded.d
    │   │   │       │   └── transport
    │   │   │       │       ├── base.d
    │   │   │       │       ├── socket.d
    │   │   │       │       └── ssl.d
    │   │   │       ├── transport
    │   │   │       │   ├── base.d
    │   │   │       │   ├── buffered.d
    │   │   │       │   ├── file.d
    │   │   │       │   ├── framed.d
    │   │   │       │   ├── http.d
    │   │   │       │   ├── memory.d
    │   │   │       │   ├── piped.d
    │   │   │       │   ├── range.d
    │   │   │       │   ├── socket.d
    │   │   │       │   ├── ssl.d
    │   │   │       │   └── zlib.d
    │   │   │       └── util
    │   │   │           ├── awaitable.d
    │   │   │           ├── cancellation.d
    │   │   │           ├── future.d
    │   │   │           └── hashset.d
    │   │   └── test
    │   │       ├── async_test.d
    │   │       ├── async_test_runner.sh
    │   │       ├── client_pool_test.d
    │   │       ├── Makefile.am
    │   │       ├── openssl.test.cnf
    │   │       ├── serialization_benchmark.d
    │   │       ├── stress_test_server.d
    │   │       ├── test_utils.d
    │   │       ├── thrift_test_client.d
    │   │       ├── thrift_test_common.d
    │   │       ├── thrift_test_runner.sh
    │   │       ├── thrift_test_server.d
    │   │       └── transport_test.d
    │   ├── delphi
    │   │   ├── src
    │   │   │   ├── Thrift.Collections.pas
    │   │   │   ├── Thrift.Console.pas
    │   │   │   ├── Thrift.pas
    │   │   │   ├── Thrift.Protocol.JSON.pas
    │   │   │   ├── Thrift.Protocol.pas
    │   │   │   ├── Thrift.Serializer.pas
    │   │   │   ├── Thrift.Server.pas
    │   │   │   ├── Thrift.Stream.pas
    │   │   │   ├── Thrift.Transport.pas
    │   │   │   ├── Thrift.Transport.Pipes.pas
    │   │   │   └── Thrift.Utils.pas
    │   │   └── test
    │   │       ├── client.dpr
    │   │       ├── codegen
    │   │       │   ├── README.txt
    │   │       │   ├── ReservedKeywords.thrift
    │   │       │   └── run-Pascal-Codegen-Tests.bat.tmpl
    │   │       ├── maketest.sh
    │   │       ├── serializer
    │   │       │   ├── TestSerializer.Data.pas
    │   │       │   └── TestSerializer.dpr
    │   │       ├── server.dpr
    │   │       ├── skip
    │   │       │   ├── idl
    │   │       │   │   ├── skiptest_version_1.thrift
    │   │       │   │   └── skiptest_version_2.thrift
    │   │       │   ├── README.txt
    │   │       │   ├── skiptest_version1.dpr
    │   │       │   └── skiptest_version2.dpr
    │   │       ├── TestClient.pas
    │   │       ├── TestConstants.pas
    │   │       └── TestServer.pas
    │   ├── erl
    │   │   ├── include
    │   │   │   ├── thrift_constants.hrl
    │   │   │   ├── thrift_protocol_behaviour.hrl
    │   │   │   ├── thrift_protocol.hrl
    │   │   │   └── thrift_transport_behaviour.hrl
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── rebar
    │   │   ├── rebar.config
    │   │   ├── src
    │   │   │   ├── thrift.app.src
    │   │   │   ├── thrift_base64_transport.erl
    │   │   │   ├── thrift_binary_protocol.erl
    │   │   │   ├── thrift_buffered_transport.erl
    │   │   │   ├── thrift_client.erl
    │   │   │   ├── thrift_client_util.erl
    │   │   │   ├── thrift_disk_log_transport.erl
    │   │   │   ├── thrift_file_transport.erl
    │   │   │   ├── thrift_framed_transport.erl
    │   │   │   ├── thrift_http_transport.erl
    │   │   │   ├── thrift_json_protocol.erl
    │   │   │   ├── thrift_memory_buffer.erl
    │   │   │   ├── thrift_processor.erl
    │   │   │   ├── thrift_protocol.erl
    │   │   │   ├── thrift_reconnecting_client.erl
    │   │   │   ├── thrift_server.erl
    │   │   │   ├── thrift_service.erl
    │   │   │   ├── thrift_socket_server.erl
    │   │   │   ├── thrift_socket_transport.erl
    │   │   │   ├── thrift_transport.erl
    │   │   │   └── thrift_transport_state_test.erl
    │   │   └── test
    │   │       ├── stress_server.erl
    │   │       ├── test_client.erl
    │   │       ├── test_disklog.erl
    │   │       ├── test_membuffer.erl
    │   │       ├── test_server.erl
    │   │       ├── test_thrift_1151.erl
    │   │       ├── Thrift1151.thrift
    │   │       └── Thrift1475.thrift
    │   ├── go
    │   │   ├── deps.bash
    │   │   ├── Make.deps
    │   │   ├── Makefile
    │   │   └── thrift
    │   │       ├── Makefile
    │   │       ├── tapplication_exception.go
    │   │       ├── tapplication_exception_test.go
    │   │       ├── tbase.go
    │   │       ├── tbinary_protocol.go
    │   │       ├── tbinary_protocol_test.go
    │   │       ├── tcompact_protocol.go
    │   │       ├── tcompact_protocol_test.go
    │   │       ├── tcompare.go
    │   │       ├── tcontainer.go
    │   │       ├── _testmain.go
    │   │       ├── texception.go
    │   │       ├── texception_test.go
    │   │       ├── tfield.go
    │   │       ├── tframed_transport.go
    │   │       ├── tframed_transport_test.go
    │   │       ├── thttp_client.go
    │   │       ├── thttp_client_test.go
    │   │       ├── tiostream_transport.go
    │   │       ├── tiostream_transport_test.go
    │   │       ├── tjson_protocol.go
    │   │       ├── tjson_protocol_test.go
    │   │       ├── tlist.go
    │   │       ├── tmap.go
    │   │       ├── tmemory_buffer.go
    │   │       ├── tmemory_buffer_test.go
    │   │       ├── tmessage.go
    │   │       ├── tmessagetype.go
    │   │       ├── tnonblocking_server.go
    │   │       ├── tnonblocking_server_socket.go
    │   │       ├── tnonblocking_socket.go
    │   │       ├── tnonblocking_transport.go
    │   │       ├── tnonblocking_transport_test.go
    │   │       ├── tnumeric.go
    │   │       ├── tprocessor_factory.go
    │   │       ├── tprocessor.go
    │   │       ├── tprotocol_exception.go
    │   │       ├── tprotocol_factory.go
    │   │       ├── tprotocol.go
    │   │       ├── tprotocol_test.go
    │   │       ├── tserver.go
    │   │       ├── tserver_socket.go
    │   │       ├── tserver_test.go
    │   │       ├── tserver_transport.go
    │   │       ├── tset.go
    │   │       ├── tsimple_json_protocol.go
    │   │       ├── tsimple_json_protocol_test.go
    │   │       ├── tsimple_server.go
    │   │       ├── tsocket.go
    │   │       ├── tstruct.go
    │   │       ├── ttransport_exception.go
    │   │       ├── ttransport_factory.go
    │   │       ├── ttransport.go
    │   │       ├── ttransport_test.go
    │   │       └── ttype.go
    │   ├── hs
    │   │   ├── LICENSE
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── Setup.lhs
    │   │   ├── src
    │   │   │   ├── Thrift
    │   │   │   │   ├── Protocol
    │   │   │   │   │   └── Binary.hs
    │   │   │   │   ├── Protocol.hs
    │   │   │   │   ├── Server.hs
    │   │   │   │   ├── Transport
    │   │   │   │   │   ├── Framed.hs
    │   │   │   │   │   ├── Handle.hs
    │   │   │   │   │   └── HttpClient.hs
    │   │   │   │   ├── Transport.hs
    │   │   │   │   └── Types.hs
    │   │   │   └── Thrift.hs
    │   │   ├── Thrift.cabal
    │   │   └── TODO
    │   ├── java
    │   │   ├── build.properties
    │   │   ├── build.xml
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── src
    │   │   │   └── org
    │   │   │       └── apache
    │   │   │           └── thrift
    │   │   │               ├── async
    │   │   │               │   ├── AsyncMethodCallback.java
    │   │   │               │   ├── TAsyncClientFactory.java
    │   │   │               │   ├── TAsyncClient.java
    │   │   │               │   ├── TAsyncClientManager.java
    │   │   │               │   └── TAsyncMethodCall.java
    │   │   │               ├── EncodingUtils.java
    │   │   │               ├── meta_data
    │   │   │               │   ├── EnumMetaData.java
    │   │   │               │   ├── FieldMetaData.java
    │   │   │               │   ├── FieldValueMetaData.java
    │   │   │               │   ├── ListMetaData.java
    │   │   │               │   ├── MapMetaData.java
    │   │   │               │   ├── SetMetaData.java
    │   │   │               │   └── StructMetaData.java
    │   │   │               ├── ProcessFunction.java
    │   │   │               ├── protocol
    │   │   │               │   ├── TBase64Utils.java
    │   │   │               │   ├── TBinaryProtocol.java
    │   │   │               │   ├── TCompactProtocol.java
    │   │   │               │   ├── TField.java
    │   │   │               │   ├── TJSONProtocol.java
    │   │   │               │   ├── TList.java
    │   │   │               │   ├── TMap.java
    │   │   │               │   ├── TMessage.java
    │   │   │               │   ├── TMessageType.java
    │   │   │               │   ├── TProtocolException.java
    │   │   │               │   ├── TProtocolFactory.java
    │   │   │               │   ├── TProtocol.java
    │   │   │               │   ├── TProtocolUtil.java
    │   │   │               │   ├── TSet.java
    │   │   │               │   ├── TSimpleJSONProtocol.java
    │   │   │               │   ├── TStruct.java
    │   │   │               │   ├── TTupleProtocol.java
    │   │   │               │   └── TType.java
    │   │   │               ├── scheme
    │   │   │               │   ├── IScheme.java
    │   │   │               │   ├── SchemeFactory.java
    │   │   │               │   ├── StandardScheme.java
    │   │   │               │   └── TupleScheme.java
    │   │   │               ├── server
    │   │   │               │   ├── AbstractNonblockingServer.java
    │   │   │               │   ├── Invocation.java
    │   │   │               │   ├── ServerContext.java
    │   │   │               │   ├── TExtensibleServlet.java
    │   │   │               │   ├── THsHaServer.java
    │   │   │               │   ├── TNonblockingServer.java
    │   │   │               │   ├── TServerEventHandler.java
    │   │   │               │   ├── TServer.java
    │   │   │               │   ├── TServlet.java
    │   │   │               │   ├── TSimpleServer.java
    │   │   │               │   ├── TThreadedSelectorServer.java
    │   │   │               │   └── TThreadPoolServer.java
    │   │   │               ├── ShortStack.java
    │   │   │               ├── TApplicationException.java
    │   │   │               ├── TBaseHelper.java
    │   │   │               ├── TBase.java
    │   │   │               ├── TBaseProcessor.java
    │   │   │               ├── TByteArrayOutputStream.java
    │   │   │               ├── TDeserializer.java
    │   │   │               ├── TEnumHelper.java
    │   │   │               ├── TEnum.java
    │   │   │               ├── TException.java
    │   │   │               ├── TFieldIdEnum.java
    │   │   │               ├── TFieldRequirementType.java
    │   │   │               ├── TProcessorFactory.java
    │   │   │               ├── TProcessor.java
    │   │   │               ├── transport
    │   │   │               │   ├── AutoExpandingBuffer.java
    │   │   │               │   ├── AutoExpandingBufferReadTransport.java
    │   │   │               │   ├── AutoExpandingBufferWriteTransport.java
    │   │   │               │   ├── TFastFramedTransport.java
    │   │   │               │   ├── TFileProcessor.java
    │   │   │               │   ├── TFileTransport.java
    │   │   │               │   ├── TFramedTransport.java
    │   │   │               │   ├── THttpClient.java
    │   │   │               │   ├── TIOStreamTransport.java
    │   │   │               │   ├── TMemoryBuffer.java
    │   │   │               │   ├── TMemoryInputTransport.java
    │   │   │               │   ├── TNonblockingServerSocket.java
    │   │   │               │   ├── TNonblockingServerTransport.java
    │   │   │               │   ├── TNonblockingSocket.java
    │   │   │               │   ├── TNonblockingTransport.java
    │   │   │               │   ├── TSaslClientTransport.java
    │   │   │               │   ├── TSaslServerTransport.java
    │   │   │               │   ├── TSaslTransport.java
    │   │   │               │   ├── TSeekableFile.java
    │   │   │               │   ├── TServerSocket.java
    │   │   │               │   ├── TServerTransport.java
    │   │   │               │   ├── TSocket.java
    │   │   │               │   ├── TSSLTransportFactory.java
    │   │   │               │   ├── TStandardFile.java
    │   │   │               │   ├── TTransportException.java
    │   │   │               │   ├── TTransportFactory.java
    │   │   │               │   └── TTransport.java
    │   │   │               ├── TSerializer.java
    │   │   │               ├── TServiceClientFactory.java
    │   │   │               ├── TServiceClient.java
    │   │   │               └── TUnion.java
    │   │   └── test
    │   │       ├── log4j.properties
    │   │       └── org
    │   │           └── apache
    │   │               └── thrift
    │   │                   ├── async
    │   │                   │   ├── TestTAsyncClient.java
    │   │                   │   └── TestTAsyncClientManager.java
    │   │                   ├── Fixtures.java
    │   │                   ├── protocol
    │   │                   │   ├── BenchmarkProtocols.java
    │   │                   │   ├── ProtocolTestBase.java
    │   │                   │   ├── TestTBinaryProtocol.java
    │   │                   │   ├── TestTCompactProtocol.java
    │   │                   │   ├── TestTJSONProtocol.java
    │   │                   │   ├── TestTProtocolUtil.java
    │   │                   │   └── TestTTupleProtocol.java
    │   │                   ├── scheme
    │   │                   │   └── TestStandardScheme.java
    │   │                   ├── server
    │   │                   │   ├── ServerTestBase.java
    │   │                   │   ├── TestHsHaServer.java
    │   │                   │   ├── TestNonblockingServer.java
    │   │                   │   └── TestThreadedSelectorServer.java
    │   │                   ├── test
    │   │                   │   ├── EqualityTest.java
    │   │                   │   ├── JavaBeansTest.java
    │   │                   │   ├── ReadStruct.java
    │   │                   │   ├── SerializationBenchmark.java
    │   │                   │   ├── TestClient.java
    │   │                   │   ├── TestNonblockingServer.java
    │   │                   │   ├── TestServer.java
    │   │                   │   └── WriteStruct.java
    │   │                   ├── TestOptionals.java
    │   │                   ├── TestShortStack.java
    │   │                   ├── TestStruct.java
    │   │                   ├── TestTBaseHelper.java
    │   │                   ├── TestTDeserializer.java
    │   │                   ├── TestTEnumHelper.java
    │   │                   ├── TestTUnion.java
    │   │                   └── transport
    │   │                       ├── ReadCountingTransport.java
    │   │                       ├── TestAutoExpandingBuffer.java
    │   │                       ├── TestAutoExpandingBufferReadTransport.java
    │   │                       ├── TestAutoExpandingBufferWriteTransport.java
    │   │                       ├── TestTFastFramedTransport.java
    │   │                       ├── TestTFramedTransport.java
    │   │                       ├── TestTMemoryInputTransport.java
    │   │                       ├── TestTSaslTransports.java
    │   │                       ├── TestTSSLTransportFactory.java
    │   │                       └── WriteCountingTransport.java
    │   ├── javame
    │   │   └── src
    │   │       └── org
    │   │           └── apache
    │   │               └── thrift
    │   │                   ├── meta_data
    │   │                   │   ├── FieldMetaData.java
    │   │                   │   ├── FieldValueMetaData.java
    │   │                   │   ├── ListMetaData.java
    │   │                   │   ├── MapMetaData.java
    │   │                   │   ├── SetMetaData.java
    │   │                   │   └── StructMetaData.java
    │   │                   ├── protocol
    │   │                   │   ├── TBase64Utils.java
    │   │                   │   ├── TBinaryProtocol.java
    │   │                   │   ├── TField.java
    │   │                   │   ├── TList.java
    │   │                   │   ├── TMap.java
    │   │                   │   ├── TMessage.java
    │   │                   │   ├── TMessageType.java
    │   │                   │   ├── TProtocolException.java
    │   │                   │   ├── TProtocolFactory.java
    │   │                   │   ├── TProtocol.java
    │   │                   │   ├── TProtocolUtil.java
    │   │                   │   ├── TSet.java
    │   │                   │   ├── TStruct.java
    │   │                   │   └── TType.java
    │   │                   ├── TApplicationException.java
    │   │                   ├── TBaseHelper.java
    │   │                   ├── TBase.java
    │   │                   ├── TByteArrayOutputStream.java
    │   │                   ├── TDeserializer.java
    │   │                   ├── TEnum.java
    │   │                   ├── TException.java
    │   │                   ├── TFieldRequirementType.java
    │   │                   ├── TProcessorFactory.java
    │   │                   ├── TProcessor.java
    │   │                   ├── transport
    │   │                   │   ├── TFramedTransport.java
    │   │                   │   ├── THttpClient.java
    │   │                   │   ├── TIOStreamTransport.java
    │   │                   │   ├── TTransportException.java
    │   │                   │   ├── TTransportFactory.java
    │   │                   │   └── TTransport.java
    │   │                   ├── TSerializer.java
    │   │                   └── TServiceClient.java
    │   ├── js
    │   │   ├── README
    │   │   ├── test
    │   │   │   ├── build.xml
    │   │   │   ├── jsTestDriver.conf
    │   │   │   ├── Makefile.am
    │   │   │   ├── phantomjs-qunit.js
    │   │   │   ├── src
    │   │   │   │   └── test
    │   │   │   │       └── Httpd.java
    │   │   │   ├── test.html
    │   │   │   └── test.js
    │   │   ├── thrift.js
    │   │   └── websocketTransport.js
    │   ├── Makefile.am
    │   ├── nodejs
    │   │   ├── examples
    │   │   │   ├── client.js
    │   │   │   ├── client_multitransport.js
    │   │   │   ├── Makefile
    │   │   │   ├── parse.js
    │   │   │   ├── README.md
    │   │   │   ├── server.js
    │   │   │   ├── server_multitransport.js
    │   │   │   └── user.thrift
    │   │   ├── lib
    │   │   │   └── thrift
    │   │   │       ├── binary.js
    │   │   │       ├── connection.js
    │   │   │       ├── index.js
    │   │   │       ├── protocol.js
    │   │   │       ├── server.js
    │   │   │       ├── thrift.js
    │   │   │       └── transport.js
    │   │   ├── package.json
    │   │   ├── README.md
    │   │   └── test
    │   │       └── binary.test.js
    │   ├── ocaml
    │   │   ├── Makefile
    │   │   ├── OCamlMakefile
    │   │   ├── README
    │   │   ├── README-OCamlMakefile
    │   │   ├── src
    │   │   │   ├── Makefile
    │   │   │   ├── TBinaryProtocol.ml
    │   │   │   ├── TChannelTransport.ml
    │   │   │   ├── TFramedTransport.ml
    │   │   │   ├── Thrift.ml
    │   │   │   ├── TServer.ml
    │   │   │   ├── TServerSocket.ml
    │   │   │   ├── TSimpleServer.ml
    │   │   │   ├── TSocket.ml
    │   │   │   └── TThreadedServer.ml
    │   │   └── TODO
    │   ├── perl
    │   │   ├── lib
    │   │   │   ├── Thrift
    │   │   │   │   ├── BinaryProtocol.pm
    │   │   │   │   ├── BufferedTransport.pm
    │   │   │   │   ├── FramedTransport.pm
    │   │   │   │   ├── HttpClient.pm
    │   │   │   │   ├── MemoryBuffer.pm
    │   │   │   │   ├── Protocol.pm
    │   │   │   │   ├── Server.pm
    │   │   │   │   ├── Socket.pm
    │   │   │   │   └── Transport.pm
    │   │   │   └── Thrift.pm
    │   │   ├── Makefile.am
    │   │   ├── Makefile.PL
    │   │   ├── README
    │   │   ├── test
    │   │   │   ├── Makefile.am
    │   │   │   ├── memory_buffer.t
    │   │   │   └── processor.t
    │   │   └── test.pl
    │   ├── php
    │   │   ├── lib
    │   │   │   └── Thrift
    │   │   │       ├── Base
    │   │   │       │   └── TBase.php
    │   │   │       ├── ClassLoader
    │   │   │       │   └── ThriftClassLoader.php
    │   │   │       ├── Exception
    │   │   │       │   ├── TApplicationException.php
    │   │   │       │   ├── TException.php
    │   │   │       │   ├── TProtocolException.php
    │   │   │       │   └── TTransportException.php
    │   │   │       ├── Factory
    │   │   │       │   ├── TBinaryProtocolFactory.php
    │   │   │       │   ├── TCompactProtocolFactory.php
    │   │   │       │   ├── TJSONProtocolFactory.php
    │   │   │       │   ├── TProtocolFactory.php
    │   │   │       │   ├── TStringFuncFactory.php
    │   │   │       │   └── TTransportFactory.php
    │   │   │       ├── Protocol
    │   │   │       │   ├── JSON
    │   │   │       │   │   ├── BaseContext.php
    │   │   │       │   │   ├── ListContext.php
    │   │   │       │   │   ├── LookaheadReader.php
    │   │   │       │   │   └── PairContext.php
    │   │   │       │   ├── TBinaryProtocolAccelerated.php
    │   │   │       │   ├── TBinaryProtocol.php
    │   │   │       │   ├── TCompactProtocol.php
    │   │   │       │   ├── TJSONProtocol.php
    │   │   │       │   └── TProtocol.php
    │   │   │       ├── Serializer
    │   │   │       │   └── TBinarySerializer.php
    │   │   │       ├── Server
    │   │   │       │   ├── TForkingServer.php
    │   │   │       │   ├── TServer.php
    │   │   │       │   ├── TServerSocket.php
    │   │   │       │   ├── TServerTransport.php
    │   │   │       │   └── TSimpleServer.php
    │   │   │       ├── StringFunc
    │   │   │       │   ├── Core.php
    │   │   │       │   ├── Mbstring.php
    │   │   │       │   └── TStringFunc.php
    │   │   │       ├── Transport
    │   │   │       │   ├── TBufferedTransport.php
    │   │   │       │   ├── TFramedTransport.php
    │   │   │       │   ├── THttpClient.php
    │   │   │       │   ├── TMemoryBuffer.php
    │   │   │       │   ├── TNullTransport.php
    │   │   │       │   ├── TPhpStream.php
    │   │   │       │   ├── TSocket.php
    │   │   │       │   ├── TSocketPool.php
    │   │   │       │   └── TTransport.php
    │   │   │       └── Type
    │   │   │           ├── TMessageType.php
    │   │   │           └── TType.php
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── README.apache
    │   │   ├── src
    │   │   │   ├── autoload.php
    │   │   │   ├── ext
    │   │   │   │   └── thrift_protocol
    │   │   │   │       ├── config.m4
    │   │   │   │       ├── config.w32
    │   │   │   │       ├── php_thrift_protocol.cpp
    │   │   │   │       └── php_thrift_protocol.h
    │   │   │   ├── Thrift.php
    │   │   │   └── TStringUtils.php
    │   │   ├── test
    │   │   │   ├── Makefile.am
    │   │   │   └── Test
    │   │   │       └── Thrift
    │   │   │           ├── Fixtures.php
    │   │   │           └── Protocol
    │   │   │               └── TestTJSONProtocol.php
    │   │   └── thrift_protocol.ini
    │   ├── py
    │   │   ├── compat
    │   │   │   └── win32
    │   │   │       └── stdint.h
    │   │   ├── Makefile.am
    │   │   ├── README
    │   │   ├── setup.cfg
    │   │   ├── setup.py
    │   │   └── src
    │   │       ├── __init__.py
    │   │       ├── protocol
    │   │       │   ├── fastbinary.c
    │   │       │   ├── __init__.py
    │   │       │   ├── TBase.py
    │   │       │   ├── TBinaryProtocol.py
    │   │       │   ├── TCompactProtocol.py
    │   │       │   ├── TJSONProtocol.py
    │   │       │   └── TProtocol.py
    │   │       ├── server
    │   │       │   ├── __init__.py
    │   │       │   ├── THttpServer.py
    │   │       │   ├── TNonblockingServer.py
    │   │       │   ├── TProcessPoolServer.py
    │   │       │   └── TServer.py
    │   │       ├── Thrift.py
    │   │       ├── transport
    │   │       │   ├── __init__.py
    │   │       │   ├── THttpClient.py
    │   │       │   ├── TSocket.py
    │   │       │   ├── TSSLSocket.py
    │   │       │   ├── TTransport.py
    │   │       │   ├── TTwisted.py
    │   │       │   └── TZlibTransport.py
    │   │       ├── TSCons.py
    │   │       └── TSerialization.py
    │   ├── rb
    │   │   ├── benchmark
    │   │   │   ├── benchmark.rb
    │   │   │   ├── Benchmark.thrift
    │   │   │   ├── client.rb
    │   │   │   ├── server.rb
    │   │   │   └── thin_server.rb
    │   │   ├── CHANGELOG
    │   │   ├── ext
    │   │   │   ├── binary_protocol_accelerated.c
    │   │   │   ├── binary_protocol_accelerated.h
    │   │   │   ├── bytes.c
    │   │   │   ├── bytes.h
    │   │   │   ├── compact_protocol.c
    │   │   │   ├── compact_protocol.h
    │   │   │   ├── constants.h
    │   │   │   ├── extconf.rb
    │   │   │   ├── macros.h
    │   │   │   ├── memory_buffer.c
    │   │   │   ├── memory_buffer.h
    │   │   │   ├── protocol.c
    │   │   │   ├── protocol.h
    │   │   │   ├── strlcpy.c
    │   │   │   ├── strlcpy.h
    │   │   │   ├── struct.c
    │   │   │   ├── struct.h
    │   │   │   └── thrift_native.c
    │   │   ├── Gemfile
    │   │   ├── lib
    │   │   │   ├── thrift
    │   │   │   │   ├── bytes.rb
    │   │   │   │   ├── client.rb
    │   │   │   │   ├── core_ext
    │   │   │   │   │   └── fixnum.rb
    │   │   │   │   ├── core_ext.rb
    │   │   │   │   ├── exceptions.rb
    │   │   │   │   ├── processor.rb
    │   │   │   │   ├── protocol
    │   │   │   │   │   ├── base_protocol.rb
    │   │   │   │   │   ├── binary_protocol_accelerated.rb
    │   │   │   │   │   ├── binary_protocol.rb
    │   │   │   │   │   ├── compact_protocol.rb
    │   │   │   │   │   └── json_protocol.rb
    │   │   │   │   ├── serializer
    │   │   │   │   │   ├── deserializer.rb
    │   │   │   │   │   └── serializer.rb
    │   │   │   │   ├── server
    │   │   │   │   │   ├── base_server.rb
    │   │   │   │   │   ├── mongrel_http_server.rb
    │   │   │   │   │   ├── nonblocking_server.rb
    │   │   │   │   │   ├── simple_server.rb
    │   │   │   │   │   ├── threaded_server.rb
    │   │   │   │   │   └── thread_pool_server.rb
    │   │   │   │   ├── struct.rb
    │   │   │   │   ├── struct_union.rb
    │   │   │   │   ├── thrift_native.rb
    │   │   │   │   ├── transport
    │   │   │   │   │   ├── base_server_transport.rb
    │   │   │   │   │   ├── base_transport.rb
    │   │   │   │   │   ├── buffered_transport.rb
    │   │   │   │   │   ├── framed_transport.rb
    │   │   │   │   │   ├── http_client_transport.rb
    │   │   │   │   │   ├── io_stream_transport.rb
    │   │   │   │   │   ├── memory_buffer_transport.rb
    │   │   │   │   │   ├── server_socket.rb
    │   │   │   │   │   ├── socket.rb
    │   │   │   │   │   ├── unix_server_socket.rb
    │   │   │   │   │   └── unix_socket.rb
    │   │   │   │   ├── types.rb
    │   │   │   │   └── union.rb
    │   │   │   └── thrift.rb
    │   │   ├── Makefile.am
    │   │   ├── Rakefile
    │   │   ├── README
    │   │   ├── script
    │   │   │   ├── proto_benchmark.rb
    │   │   │   ├── read_struct.rb
    │   │   │   └── write_struct.rb
    │   │   ├── spec
    │   │   │   ├── base_protocol_spec.rb
    │   │   │   ├── base_transport_spec.rb
    │   │   │   ├── binary_protocol_accelerated_spec.rb
    │   │   │   ├── binary_protocol_spec.rb
    │   │   │   ├── binary_protocol_spec_shared.rb
    │   │   │   ├── bytes_spec.rb
    │   │   │   ├── client_spec.rb
    │   │   │   ├── compact_protocol_spec.rb
    │   │   │   ├── exception_spec.rb
    │   │   │   ├── http_client_spec.rb
    │   │   │   ├── json_protocol_spec.rb
    │   │   │   ├── mongrel_http_server_spec.rb
    │   │   │   ├── nonblocking_server_spec.rb
    │   │   │   ├── processor_spec.rb
    │   │   │   ├── serializer_spec.rb
    │   │   │   ├── server_socket_spec.rb
    │   │   │   ├── server_spec.rb
    │   │   │   ├── socket_spec.rb
    │   │   │   ├── socket_spec_shared.rb
    │   │   │   ├── spec_helper.rb
    │   │   │   ├── struct_nested_containers_spec.rb
    │   │   │   ├── struct_spec.rb
    │   │   │   ├── ThriftSpec.thrift
    │   │   │   ├── types_spec.rb
    │   │   │   ├── union_spec.rb
    │   │   │   └── unix_socket_spec.rb
    │   │   └── thrift.gemspec
    │   └── st
    │       ├── README
    │       └── thrift.st
    ├── LICENSE
    ├── Makefile.am
    ├── NEWS
    ├── NOTICE
    ├── rat_exclude
    ├── README
    ├── test
    │   ├── AnnotationTest.thrift
    │   ├── BrokenConstants.thrift
    │   ├── ConstantsDemo.thrift
    │   ├── cpp
    │   │   ├── Makefile.am
    │   │   ├── realloc
    │   │   │   ├── Makefile
    │   │   │   └── realloc_test.c
    │   │   └── src
    │   │       ├── StressTest.cpp
    │   │       ├── StressTestNonBlocking.cpp
    │   │       ├── TestClient.cpp
    │   │       └── TestServer.cpp
    │   ├── csharp
    │   │   └── ThriftTest
    │   │       ├── maketest.sh
    │   │       ├── Program.cs
    │   │       ├── Properties
    │   │       │   └── AssemblyInfo.cs
    │   │       ├── TestClient.cs
    │   │       ├── TestServer.cs
    │   │       └── ThriftTest.csproj
    │   ├── DebugProtoTest.thrift
    │   ├── DenseLinkingTest.thrift
    │   ├── DocTest.thrift
    │   ├── FastbinaryTest.py
    │   ├── hs
    │   │   ├── ConstantsDemo_Main.hs
    │   │   ├── DebugProtoTest_Main.hs
    │   │   ├── Makefile.am
    │   │   ├── run-test.sh
    │   │   ├── ThriftTest_Main.hs
    │   │   └── ThriftTestUtils.hs
    │   ├── JavaBeansTest.thrift
    │   ├── Makefile.am
    │   ├── ManyOptionals.thrift
    │   ├── ManyTypedefs.thrift
    │   ├── nodejs
    │   │   ├── client.js
    │   │   ├── Makefile.am
    │   │   ├── package.json
    │   │   └── server.js
    │   ├── ocaml
    │   │   ├── client
    │   │   │   ├── Makefile
    │   │   │   └── TestClient.ml
    │   │   ├── Makefile
    │   │   └── server
    │   │       ├── Makefile
    │   │       └── TestServer.ml
    │   ├── OptionalRequiredTest.thrift
    │   ├── perl
    │   │   ├── Makefile.am
    │   │   └── TestClient.pl
    │   ├── php
    │   │   ├── Makefile.am
    │   │   ├── TestClient.php
    │   │   └── TestInline.php
    │   ├── py
    │   │   ├── explicit_module
    │   │   │   ├── runtest.sh
    │   │   │   ├── test1.thrift
    │   │   │   └── test2.thrift
    │   │   ├── Makefile.am
    │   │   ├── RunClientServer.py
    │   │   ├── SerializationTest.py
    │   │   ├── test_cert.pem
    │   │   ├── test_cert.readme
    │   │   ├── TestClient.py
    │   │   ├── TestEof.py
    │   │   ├── TestServer.py
    │   │   ├── TestSocket.py
    │   │   └── TestSyntax.py
    │   ├── py.twisted
    │   │   ├── Makefile.am
    │   │   └── test_suite.py
    │   ├── rb
    │   │   ├── benchmarks
    │   │   │   └── protocol_benchmark.rb
    │   │   ├── core
    │   │   │   ├── test_backwards_compatability.rb
    │   │   │   ├── test_exceptions.rb
    │   │   │   └── transport
    │   │   │       └── test_transport.rb
    │   │   ├── fixtures
    │   │   │   └── structs.rb
    │   │   ├── generation
    │   │   │   ├── test_enum.rb
    │   │   │   └── test_struct.rb
    │   │   ├── integration
    │   │   │   ├── accelerated_buffered_client.rb
    │   │   │   ├── accelerated_buffered_server.rb
    │   │   │   ├── buffered_client.rb
    │   │   │   ├── simple_client.rb
    │   │   │   ├── simple_server.rb
    │   │   │   └── test_simple_handler.rb
    │   │   ├── Makefile.am
    │   │   ├── test_helper.rb
    │   │   └── test_suite.rb
    │   ├── SmallTest.thrift
    │   ├── StressTest.thrift
    │   ├── test.sh
    │   ├── threads
    │   │   ├── Makefile
    │   │   ├── ThreadsClient.cpp
    │   │   ├── ThreadsServer.cpp
    │   │   └── ThreadsTest.thrift
    │   └── ThriftTest.thrift
    ├── testrpc
    │   ├── divMoveTest.html
    │   ├── gen-cpp
    │   │   ├── client
    │   │   │   ├── client.vcxproj
    │   │   │   └── ReadMe.txt
    │   │   ├── server
    │   │   │   ├── ReadMe.txt
    │   │   │   └── server.vcxproj
    │   │   ├── test_constants.cpp
    │   │   ├── test_constants.h
    │   │   ├── test_types.cpp
    │   │   ├── test_types.h
    │   │   ├── UserStorageClient.cpp
    │   │   ├── UserStorage.cpp
    │   │   ├── UserStorage.h
    │   │   └── UserStorage_server.skeleton.cpp
    │   ├── gen-js
    │   │   ├── test_types.js
    │   │   └── UserStorage.js
    │   ├── jquery.min.js
    │   ├── test.pro
    │   ├── tutorial.html
    │   └── UserStorage_server.skeleton.cpp
    └── tutorial
        ├── cpp
        │   ├── CppClient.cpp
        │   ├── CppServer.cpp
        │   └── Makefile.am
        ├── csharp
        │   ├── CsharpClient
        │   │   ├── CsharpClient.cs
        │   │   ├── CsharpClient.csproj
        │   │   └── Properties
        │   │       └── AssemblyInfo.cs
        │   ├── CsharpServer
        │   │   ├── CsharpServer.cs
        │   │   ├── CsharpServer.csproj
        │   │   └── Properties
        │   │       └── AssemblyInfo.cs
        │   └── tutorial.sln
        ├── d
        │   ├── async_client.d
        │   ├── client.d
        │   ├── Makefile
        │   └── server.d
        ├── delphi
        │   ├── DelphiClient
        │   │   ├── DelphiClient.dpr
        │   │   └── DelphiClient.dproj
        │   ├── DelphiServer
        │   │   ├── DelphiServer.dpr
        │   │   └── DelphiServer.dproj
        │   └── Tutorial.groupproj
        ├── erl
        │   ├── client.erl
        │   ├── client.sh
        │   ├── json_client.erl
        │   ├── README
        │   ├── server.erl
        │   └── server.sh
        ├── go
        │   ├── deps.bash
        │   ├── Make.deps
        │   ├── Makefile
        │   └── src
        │       ├── CalculatorHandler.go
        │       ├── GoClient.go
        │       ├── GoServer.go
        │       ├── main.go
        │       └── Makefile
        ├── hs
        │   ├── HaskellClient.hs
        │   ├── HaskellServer.hs
        │   └── ThriftTutorial.cabal
        ├── java
        │   ├── build.xml
        │   ├── Makefile.am
        │   ├── README
        │   └── src
        │       ├── CalculatorHandler.java
        │       ├── JavaClient.java
        │       └── JavaServer.java
        ├── js
        │   ├── build.xml
        │   ├── Makefile.am
        │   ├── src
        │   │   └── Httpd.java
        │   └── tutorial.html
        ├── Makefile.am
        ├── perl
        │   ├── PerlClient.pl
        │   └── PerlServer.pl
        ├── php
        │   ├── PhpClient.php
        │   ├── PhpServer.php
        │   └── runserver.py
        ├── py
        │   ├── Makefile.am
        │   ├── PythonClient.py
        │   └── PythonServer.py
        ├── py.twisted
        │   ├── Makefile.am
        │   ├── PythonClient.py
        │   ├── PythonServer.py
        │   └── PythonServer.tac
        ├── rb
        │   ├── RubyClient.rb
        │   └── RubyServer.rb
        ├── README
        ├── shared.thrift
        └── tutorial.thrift

247 directories, 1335 files

实例下载地址

使用thrift、websocket在javascript和cpp之间建立rpc调用

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警