Pernyataan Masalah:
Anda mempunyai sambungan TCP terbuka dan sedang membaca dari ia dalam satu gelung. Anda ingin menaik taraf sambungan kepada TLS menggunakan konfigurasi yang disimpan dalam tx.Server.Conf.TlsConf, tetapi anda menghadapi masalah pembahagian pada klien apabila pelayan cuba berjabat tangan.
Penyelesaian:
Isunya terletak pada cara anda mengendalikan peningkatan TLS yang salah. Untuk meningkatkan sambungan kepada TLS dengan betul, ikuti langkah berikut:
<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>
Proses Peningkatan Sambungan TLS:
Apabila TLS didayakan, perkara berikut berlaku:
Nota tentang Penukaran dalam Go:
Keupayaan untuk menukar dengan lancar antara net.Conn dan tls.Conn ialah ciri hebat Go. Ini membolehkan penyepaduan mudah TLS ke dalam kod sedia ada tanpa memerlukan pembalut atau penyesuai yang kompleks.
Atas ialah kandungan terperinci Bagaimana untuk Menaik taraf Sambungan TCP Sedia Ada kepada TLS dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!