Skip to content
Snippets Groups Projects
Select Git revision
  • 29d59f972da9828efcf7a1e2bd3c981342a30bcc
  • master default
  • develop
  • map_stuff
  • bullet
  • player_stuff
  • enemy
  • login_page
  • mob_stuff
  • register_page
10 results

README.md

Blame
  • Pure JavaScript gRPC Client

    Installation

    Node 12 is recommended. The exact set of compatible Node versions can be found in the engines field of the package.json file.

    npm install @grpc/grpc-js

    Features

    • Clients
    • Automatic reconnection
    • Servers
    • Streaming
    • Metadata
    • Partial compression support: clients can decompress response messages
    • Pick first and round robin load balancing policies
    • Client Interceptors
    • Connection Keepalives
    • HTTP Connect support (proxies)

    This library does not directly handle .proto files. To use .proto files with this library we recommend using the @grpc/proto-loader package.

    Migrating from grpc

    @grpc/grpc-js is almost a drop-in replacement for grpc, but you may need to make a few code changes to use it:

    • If you are currently loading .proto files using grpc.load, that function is not available in this library. You should instead load your .proto files using @grpc/proto-loader and load the resulting package definition objects into @grpc/grpc-js using grpc.loadPackageDefinition.
    • If you are currently loading packages generated by grpc-tools, you should instead generate your files using the --generate_package_definitions option in grpc-tools, then load the object exported by the generated file into @grpc/grpc-js using grpc.loadPackageDefinition.
    • If you have a server and you are using Server#bind to bind ports, you will need to use Server#bindAsync instead.

    Some Notes on API Guarantees

    The public API of this library follows semantic versioning, with some caveats:

    • Some methods are prefixed with an underscore. These methods are internal and should not be considered part of the public API.
    • The class Call is only exposed due to limitations of TypeScript. It should not be considered part of the public API.
    • In general, any API that is exposed by this library but is not exposed by the grpc library is likely an error and should not be considered part of the public API.