Menyambung ke Pelayan RPC JSON menggunakan Pustaka Standard Golang
Soalan meneroka kemungkinan mengakses pelayan RPC JSON HTTP menggunakan perpustakaan standard Go alatan. Walaupun persediaan pelayan menggunakan fungsi rpc.NewServer(), matlamatnya adalah untuk mewujudkan sambungan menggunakan permintaan POST mudah daripada halaman web atau baris arahan.
Tingkah laku lalai fungsi HandleHTTP() mengharapkan HTTP pelanggan untuk mengeluarkan arahan CONNECT dan menghantar permintaan JSON RPC terus ke strim. Walau bagaimanapun, pendekatan ini biasanya tidak disokong dalam penyemak imbas dan memerlukan persediaan yang lebih khusus.
Penyelesaian: Pengendali HTTP Tersuai
Untuk mengatasi cabaran ini, penyelesaian yang dicadangkan melibatkan penciptaan pengendali HTTP tersuai yang menyesuaikan permintaan dan respons HTTP ke dalam ServerCodec, menjadikannya serasi dengan pelayan RPC perpustakaan standard. Ini membolehkan permintaan POST lancar ke pelayan.
Pelaksanaan Pelayan Ujian
Kod yang disediakan menunjukkan pelayan ujian yang menggunakan pengendali HTTP tersuai ini. Pelayan, dilaksanakan menggunakan http.HandlerFunc(), bertindak balas kepada permintaan di titik akhir /bake-me-a-cake.
Fungsi jsonrpc.NewServerCodec() digunakan untuk menukar sambungan HTTP kepada ServerCodec . Pelayan kemudian memproses permintaan JSON RPC dan mengembalikan respons dalam format JSON.
Interaksi Pelanggan
Untuk menunjukkan interaksi klien, permintaan POST dihantar ke pelayan menggunakan fungsi http.Post(). Respons diterima dan JSON yang dikembalikan dipaparkan. Ini mengesahkan sambungan yang berjaya dan pertukaran data antara pelanggan dan pelayan.
Atas ialah kandungan terperinci Bolehkah Perpustakaan Standard Go Mengendalikan Sambungan Pelayan JSON RPC melalui Permintaan HTTP POST Mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!