Goa Getting Started の問題続編

スポンサーリンク

はじめに

過去に書いた https://memo.koumei2.com/goa/ の続編です。
Goa の Getting Started に書かれている gRPC の機能が動かないという問題が起きていました。

Port番号を変えてみる

Getting Started では gRPC は 8080 ポートを使うようなコードになっています。
ふと思いついて、ポート番号を 8080 から変えてみました。
ポート番号は、cmd/calc/main.go の下記を変更してビルドし直すと変えられます。

% diff cmd/calc/main.go.orig cmd/calc/main.go
96c96
< 			addr := "grpc://localhost:8080"
---
> 			addr := "grpc://localhost:8081"

すると、、、正常に動作しました!

% ./calc-cli --url="grpc://localhost:8081" calc add --message '{"a": 1, "b": 2}'
3

localhost指定をやめる

ポート番号を 8080 に戻してビルドし直します。
すると、またエラーが出る状態になります。
しかし、サーバ側では下記のように出力されているので、Listen はされているはず。。。

[calcapi] 15:40:30 gRPC server listening on "localhost:8080"

ということで、ダメ元で localhost ではなく、127.0.0.1 でアクセスしてみました。
すると、、、

% ./calc-cli --url="grpc://127.0.0.1:8080" calc add --message '{"a": 1, "b": 2}'
3

正常に返ってきました!?
どういうこと??

暫定解決案

ここまで現象が絞れたことで、localhost 指定が1つの原因になっていることがわかり、下記の記事のようになっていることが判明しました。

一応、IPv6 の localhost 指定を無効にして事無きを得ていますが、結局のところ、上記の記事のように localhost:8080 だけが動作しない原因はまだ不明です。。。

コメント

タイトルとURLをコピーしました