Просмотр фактического потока байтов, отправленного NodeJS GRP C Библиотеки - PullRequest
0 голосов
/ 04 февраля 2020

Можно ли зарегистрировать или просмотреть фактический поток данных, отправляемый на сервер, при использовании grp c или @ grpc / grp c - js клиенты в NodeJS?

Я работаю с непрозрачным сервером GRP C, который принимает мои байты при их потоковой передаче, но не выполняет то, что должен. Я хотел бы просмотреть фактические байты, отправляемые на сервер, так как мы подозреваем, что это проблема с тем, как библиотеки GRP C сериализуют 64-битные целые числа.

Переменные GRPC_VERBOSITY=debug GRPC_TRACE=tcp,http,api,http2_stream_state env для собственного модуля grpc не помогли в этом конкретном случае c - они показывают часть одного байтового потока, но не полный байтовый поток.

Даже «здесь есть место в коде, где происходит сериализация», было бы полезно.

1 Ответ

1 голос
/ 05 февраля 2020

Правильно установлено GRPC_VERBOSITY. Если вы используете TLS, вы можете увидеть все данные, отправленные и полученные с GRPC_TRACE=secure_endpoint. Если вы используете незашифрованные соединения, вы можете вместо этого увидеть его с GRPC_TRACE=tcp. В обоих случаях вам нужно будет выбрать нужные данные из кадров HTTP / 2, и они могут показывать сжатые сообщения, которые по существу невозможно интерпретировать.

В качестве альтернативы, если ваша настройка позволяет это, вы можете попробовать Wireshark. Он должен быть в состоянии обрабатывать кадры HTTP / 2 для вас, и я считаю, что у него есть плагины для обработки gRP C traffi c специально.

...