Golang ialah bahasa pengaturcaraan yang agak baharu yang memudahkan untuk mencipta aplikasi web berprestasi tinggi dan berskala. Untuk pengaturcaraan rangkaian, Golang menyediakan perpustakaan TCP terbina dalam yang memudahkan penulisan aplikasi rangkaian. Apabila membangunkan aplikasi rangkaian, kadangkala kita perlu menutup sambungan soket untuk menamatkan komunikasi antara pelayan dan klien. Artikel ini akan memperkenalkan cara menutup sambungan soket di Golang.
Di Golang, kita boleh menggunakan pakej bersih dalam perpustakaan standard untuk mencipta sambungan soket. Apabila menggunakan sambungan TCP, kami boleh menggunakan fungsi Dail untuk mewujudkan sambungan:
conn, err := net.Dial("tcp", "localhost:8080") if err != nil { log.Fatal(err) } // 使用连接进行通信 // ... // 关闭socket连接 conn.Close()
Dalam kod ini, kami menggunakan fungsi Dail untuk mewujudkan sambungan TCP dengan nombor port 8080 pada hos tempatan. Memanggil fungsi ini akan mengembalikan sambungan objek sambungan dan kemungkinan ralat. Selepas kami menggunakan objek conn untuk berkomunikasi, kami perlu menutup sambungannya dengan pelayan tepat pada masanya untuk melepaskan sumber dan menamatkan komunikasi.
Di sisi pelayan, apabila kita perlu menamatkan komunikasi dengan pelanggan, kita perlu menutup sambungan soket yang dibuat. Kita boleh menggunakan pakej bersih terbina dalam dan pakej os bahasa Go untuk mendapatkan pemegang sambungan soket, dan kemudian gunakan kaedah Tutup yang disediakan dalam pakej os untuk menutup sambungan. Contohnya:
// 监听端口并接受客户端连接 listener, err := net.Listen("tcp", ":8080") if err != nil { log.Fatal(err) } for { // 接受客户端连接 conn, err := listener.Accept() if err != nil { log.Fatal(err) } // 使用连接进行通信 // ... // 关闭连接 conn.(*net.TCPConn).Close() }
Dalam kod ini, kami menggunakan fungsi Dengar dalam pakej bersih untuk mendengar port dan menggunakan fungsi Terima untuk menerima sambungan yang dimulakan daripada klien. Selepas berkomunikasi menggunakan sambungan, kami menggunakan penukaran jenis penunjuk untuk menukar objek sambung kepada jenis *net.TCPConn dan menutup sambungan menggunakan kaedah Tutup.
Di sisi klien, kita boleh menutup sambungan dengan pelayan dengan memanggil kaedah Tutup objek sambungan. Contohnya:
conn, err := net.Dial("tcp", "localhost:8080") if err != nil { log.Fatal(err) } // 使用连接进行通信 // ... // 关闭连接 conn.Close()
Dalam kod ini, kami menggunakan fungsi Dail untuk mewujudkan sambungan TCP dengan nombor port 8080 pada hos tempatan dan menggunakan kaedah Tutup untuk menutup sambungan selepas melengkapkan komunikasi. Ambil perhatian bahawa kod ini hanya berfungsi jika sambungan ditutup pada bahagian klien, bukan jika sambungan ditutup pada bahagian pelayan.
Ringkasan
Di Golang, kita boleh menggunakan pakej bersih dalam perpustakaan standard untuk membuat sambungan soket, menggunakan fungsi Dail untuk membuat sambungan untuk pelanggan dan menggunakan fungsi Dengar untuk buat sambungan untuk pelayan. Kita boleh menutup sambungan menggunakan kaedah Tutup objek sambungan. Ini adalah cara yang cekap untuk melepaskan sumber dan menamatkan komunikasi, jadi harus diingat semasa membangunkan aplikasi web.
Atas ialah kandungan terperinci soket tutup golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!