Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Server sesi game mandiri dengan backend WebSocket berbasis
Menggunakan arsitektur WebSocket berbasis Amazon API Gateway, Anda dapat membuat permintaan perjodohan dengan WebSockets dan mengirim pemberitahuan push untuk penyelesaian perjodohan menggunakan pesan yang dimulai server. Arsitektur ini meningkatkan kinerja dengan memiliki komunikasi dua arah antara klien dan server.
Untuk informasi selengkapnya tentang menggunakan API Gateway WebSock APIs, lihat Bekerja dengan WebSocket APIs.
Diagram berikut menunjukkan arsitektur backend WebSocket berbasis yang menggunakan API Gateway dan lainnya Layanan AWS untuk mencocokkan pemain ke dalam game yang sedang berjalan Amazon GameLift Servers armada. Daftar berikut memberikan deskripsi untuk setiap callout bernomor dalam diagram.

-
Klien game meminta identitas pengguna Amazon Cognito dari kumpulan identitas Amazon Cognito.
-
Klien game menandatangani WebSocket koneksi ke API Gateway API dengan kredenal Amazon Cognito.
-
API Gateway memanggil AWS Lambda fungsi pada koneksi. Fungsi menyimpan informasi koneksi dalam tabel Amazon DynamoDB.
-
Klien game mengirim pesan ke fungsi Lambda, melalui API Gateway API melalui WebSocket koneksi, untuk meminta sesi.
-
Fungsi Lambda menerima pesan dan kemudian meminta kecocokan melalui Amazon GameLift Servers FlexMatch perjodohan.
-
Setelah FlexMatch cocok dengan sekelompok pemain, FlexMatch meminta penempatan sesi permainan melalui Amazon GameLift Servers antrian.
-
Setelah Amazon GameLift Servers menempatkan sesi di salah satu lokasi armada, Amazon GameLift Servers mengirimkan pemberitahuan acara ke topik Amazon Simple Notification Service (Amazon SNS).
-
Fungsi Lambda menerima acara Amazon SNS dan memprosesnya.
-
Jika tiket perjodohan adalah
MatchmakingSucceeded
acara, maka fungsi Lambda meminta koneksi pemain yang benar dari DynamoDB. Fungsi tersebut kemudian mengirimkan pesan ke klien game melalui API Gateway API melalui WebSocket koneksi. Dalam arsitektur ini, klien game tidak secara aktif melakukan polling status perjodohan. -
Klien game menerima port dan alamat IP server game, bersama dengan ID sesi pemain, melalui WebSocket koneksi.
-
Klien game terhubung ke server game menggunakan TCP atau UDP menggunakan port dan alamat IP yang disediakan layanan backend. Klien game juga mengirimkan ID sesi pemain ke server game, yang kemudian memvalidasi ID menggunakan SDK server untuk Amazon GameLift Servers.