Я прочитал этот ответ: https://stackoverflow.com/a/56943771/6463558, в нем говорится, что нет способ запустить сервер gRPC и HTTP-сервер с одним и тем же адресом и портом с использованием пакета grpc-node
.
Но я могу создать сервер gRPC и HTTP-сервер с одним и тем же адресом и портом (например, оба используют localhost:3000
), используя пакет grpc-go
. Вот пример: https://github.com/mrdulin/grpc-go-cnode/blob/master/cmd/server/main.go#L79.
Итак, почему grpc-node и grpc-go ведут себя непоследовательно. Имеет ли это смысл?
В результате я ожидаю, что независимо от того, какой язык реализован в grpc, поведение должно быть согласованным. Таким образом, сервер grpc должен иметь возможность использовать один и тот же порт с сервером, созданным стандартной библиотекой Node
https://nodejs.org/api/http.html в том же системном процессе.