GRPC
gRPC for Chatie
USAGE
Node.js
Maintainer:
- @huan - Huan LI (李卓桓)
Python
Maintainer:
- @wj-Mcat - Jingjing WU (吴京京)
Go
Maintainer:
- @dchaofei - Chaofei DING (丁超飞)
Java
https://mvnrepository.com/artifact/io.github.wechaty/grpc
Maven:
<dependency>
<groupId>io.github.wechaty</groupId>
<version>0.11.25</version>
<artifactId>grpc</artifactId>
</dependency>
Gradle:
compile 'io.github.wechaty:grpc:0.11.25'
Maintainer:
- @diaozxin007 - Zhengxin DIAO (刁政欣)
PHP
Maintainer:
- @zhangchunsheng - Chunsheng ZHANG (张春生)
Csharp
Maintainer:
- @Darren - Darren (郑波)
DEVELOPMENT
Debug
- GUI Client for GRPC Services - BloomRPC aim to give the simplest and efficient developer experience for exploring and querying your GRPC services.(Inspired by Postman and GraphQL Playground)
- A gRPC CLI interface for easy testing against gRPC servers with Node.js REPL
grpcc --proto ./service/myservice.proto --address 127.0.0.1:3466
Build
./scripts/install-protoc.sh
npm install
Generate Stubs
npm run generate
1. JS for Protocol Buffer
protoc \
--js_out="import_style=commonjs,binary:${OUT_DIR}"
2. JS for gRPC Stubs
protoc \
--plugin="protoc-gen-grpc=`which grpc_tools_node_protoc_plugin`" \
--grpc_out="${OUT_DIR}"
3. TypeScript Typing Definations for Protocol Buffer & gRPC Stubs
protoc \
--plugin="protoc-gen-grpc=node_modules/grpc_tools_node_protoc_ts/bin/protoc-gen-ts" \
--grpc_out="${OUT_DIR}"
4. JS & TS for gRPC Web
protoc \
--plugin="protoc-gen-ts=node_modules/ts-protoc-gen/bin/protoc-gen-ts" \
--ts_out="service=true:${OUT_DIR}"
RESOURCES
Documentation
- Protocol Buffers Language Guide (proto3)
- Google Protocol Buffers Style Guide
- Protocol Buffers for TypeScript with Decorators
- Troubleshooting gRPC
- gRPC environment variables
- How to Interact With and Debug a gRPC Server
Links
- 探讨gRPC的Node技术生态及实现工具
- gRPC Basics - Node.js
- Building a gRPC service with Node.js
- gRPC in 3 minutes (Node.js)
- Listen gRPC and HTTP requests on the same port
- gRPC to JSON proxy generator following the gRPC HTTP spec
- 如何在 Node.js 中更优雅地使用 gRPC:grpc-helper
Protocol Buffer
- Protocol Buffers for JavaScript (& TypeScript)
- Missing value/null support for scalar value types in proto 3
- How to Make a Nullable Field in Proto3 for a HTTP Response?
gRPC Web
- gRPC-Web: Moving past REST+JSON towards type-safe Web APIs
- Library for making gRPC-Web requests intended for TypeScript from either a browser or Node.js.
TypeScript Generator
- A Typescript definition file generator for gRPC services
- gRPC Web TypeScript Code Generation
- Protocol Buffers Compiler (protoc) plugin for TypeScript and gRPC-Web.
Zoo Keeper
STUN
- How To TCP NAT Traversal using Node.js and a STUN Server
- chownat, allows two peers behind two separate NATs to directly communicate with each other.
- What is STUN & TURN Server
- NPM Search for: NAT Traversal
- NAT traversal by way of UPnP or NAT-PMP
- How To TCP NAT Traversal using Node.js and a STUN Server
- STUN, TURN, and ICE - AnyConnect pioneered the STUN, TURN, and ICE NAT Traversal protocols
- What are STUN, TURN, and ICE?
- Set Phasers to STUN/TURN: Getting Started with WebRTC using Node.js, Socket.io and Twilio’s NAT Traversal Service
TCP hole punching
Reverse Engineering
Python Stub
csharp grpc
- An introduction to NuGet (microsoft)
- Create a gRPC client and server in ASP.NET Core (microsoft)
- ASP.NET Core 3.0 使用gRPC (晓晨Master)
HISTORY
v0.18 (Oct 15, 2020)
- Add new
MessageFileStream
andMessageImageStream
to replace theMessageFile
andMessageImage
method to avoid blocking nodejs event loop when sending large files (#88) by @windmemory - Add new
MessageSendFileStream
to replace theMessageSendFile
method to avoid blocking nodejs event loop when sending large files (#89) by @windmemory
v0.17 (Aug 5, 2020)
- Add PHPH Support (#76 #78) by @zhangchunsheng
- Publish PHP Module at https://github.com/wechaty/php-grpc
v0.13 (Apr 19, 2020)
- Add Java Support (#52 #53 by @diaozxin007)
- Publish Java Module at Open Source Project Repository HostingOSSRH-56843 - Release the Chatie/grpc Java Client
v0.11 (Apr 10, 2020)
v0.6 (Feb 2020)
- Align gRPC Services with Wechaty Puppet Abstraction
- Add Unit Tests
v0.2 (Jul 2018)
- Automatic Generating gRPC Stubs
- Publish to NPM
v0.0.1 (May 2018)
Initial commiit
MAINTAINER
Huan LI (李卓桓), Google Developer Expert in Machine Learning (ML GDE), [email protected]
COPYRIGHT & LICENSE
- Code & Docs © 2018-now Huan LI <[email protected]>
- Code released under the Apache-2.0 License
- Docs released under Creative Commons