サービスとして gqlgen を使用し、フロントエンドとして apollo クライアントとgraphql-ws を使用しています。サブスクリプションを使用しようとしていますが、動作します。私のプレイグラウンドでは完璧に動作しましたが、クライアントをそれに接続しようとすると、次のエラーが発生します:
リーリーコンテナー ログに次のメッセージが表示されます:
リーリーこれは私の golang コードです:
リーリーこれは私のクライアント コードです:
リーリープログラムの checkorigin をアップグレードするとこの問題が解決すると思いましたが、うまくいきませんでした。 この問題を解決する方法はありますか?
これは素晴らしい質問です。それはあなたが才能のあるプログラマーであることを意味します...次のように返信してください:
次の行を変更する必要があります:
リーリーnewdefaultserver は同じソースを使用するため、ソースとホストが同じである必要があることを意味します。つまり、コードは次のようになります。 checkorigin: func(r *http.request) bool { trueを返す }、 機能していません。 newdefaultserver を new に変更して、コードをそれに変更する必要があります:
リーリーそして、WebSocket は正常に動作しています。 newdefaultserver の内部には更新や取得などの設定が含まれているため、この変更には注意してください。 (パッケージ自体を参照してください) そして、それをコードに便利に記述する必要があります。
以上がgraphql-ws を gqlgen に接続できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。