サーバーが実行されるまで待機する websocket クライアントを作成したいと考えています。サーバーによって接続が閉じられた場合は、再接続する必要があります。
私が試したことが機能せず、コードが実行時エラーで終了します。
panic: runtime error: invalid memory address or nil pointer dereference
func run() {
origin := "http://localhost:8080/"
url := "ws://localhost:8080/ws"
ws, err := websocket.Dial(url, "", origin)
if err != nil {
fmt.Println("Connection fails, is being re-connection")
main()
}
if _, err := ws.Write([]byte("something")); err != nil {
log.Fatal(err)
}
}