Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use wireshark to analyze this application. #1

Open
kevinten10 opened this issue Jan 28, 2021 · 1 comment
Open

Use wireshark to analyze this application. #1

kevinten10 opened this issue Jan 28, 2021 · 1 comment
Labels
documentation Improvements or additions to documentation

Comments

@kevinten10
Copy link
Member

What I observed

Use HTTP2 to establish and maintain the connection.

Use GPRC to transmit HEADERS and PAYLOAD (using protobuf).

wireshark

Is it multiplexed

I can see that there is Stream ID on the HTTP2 protocol, so I guess that GPRC uses HTTP2 multiplexing.

http2stream

@kevinten10 kevinten10 added the documentation Improvements or additions to documentation label Jan 28, 2021
@pinxiong
Copy link
Member

Yes, you're right!

I'll add the document to explain how the gRPC server-side and client-side work in the future.

You need to know the gRPC transport layer protocol if you want to get more.

If you are interested in that, I recommend you to know

  • NettyServerTransport.java
  • NettyServerHandler.java
  • Http2HeadersDecoder.java
  • Http2HeadersEncoder.java
  • Http2FrameReader.java
  • Http2FrameWriter.java

These will help you understand better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants