問題ステートメント:
オープンな TCP 接続があり、次から読み取っていますそれはループの中にあります。 tx.Server.Conf.TlsConf に保存されている構成を使用して接続を TLS にアップグレードしたいと考えていますが、サーバーがハンドシェイクを試行するとクライアントでセグメンテーション違反が発生します。
解決策:
問題は、TLS アップグレードの処理方法が間違っていることにあります。接続を TLS に正しくアップグレードするには、次の手順に従います。
<code class="go">// server.socket is of type net.Conn conn := tls.Server(server.socket, tlsConfig) conn.Handshake() netConn := net.Conn(conn) // Update buffers and handle the connection as usual.</code>
TLS 接続アップグレード プロセス:
TLS が有効になると、次のことが発生します。
Go での変換に関する注意:
net.Conn と tls.Conn の間でシームレスに変換できる機能は、Go の強力な機能です。これにより、複雑なラッパーやアダプターを必要とせずに、TLS を既存のコードに簡単に統合できます。
以上がGo で既存の TCP 接続を TLS にアップグレードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。