Rumah hujung hadapan web tutorial js Adakah node.js sesuai untuk pembangunan bahagian belakang permainan? _node.js

Adakah node.js sesuai untuk pembangunan bahagian belakang permainan? _node.js

May 16, 2016 pm 04:37 PM
node.js Pembangunan latar belakang permainan

Bagaimanakah pelayan laman web dan pelayan permainan disambungkan?

1. Terdapat banyak jenis permainan.

Tidak kira betapa mudahnya pelayan RPG, ia tidak dapat mengelak daripada berurusan dengan interaksi berbilang orang Dengan beratus-ratus orang dalam adegan yang sama, setiap pelanggan perlu menerima maklumat operasi daripada orang lain.

Kedua, operasi pengguna sangat kerap, dan pelayan umum cenderung untuk mengadakan sambungan yang panjang. Selain itu, pautan ini kerap berinteraksi dan tiada strategi pembahagian berterusan yang jelas, yang mengehadkan pengembangan mendatar pelayan Senario yang sama selalunya hanya boleh dijalankan pada satu mesin fizikal.

Ketiga, permainan pelanggan biasanya tidak berani untuk meletakkan operasi logik pada pelanggan Ia adalah perkara biasa bagi pengguna untuk memecahkannya untuk anda dalam beberapa minit, menukar syiling emas, dan membeli dua keping peralatan. Oleh itu, pelayan peta ini mesti mengesahkan operasi semua pemain dalam peta dan mengira satu siri logik perniagaan seperti raksasa AI dan kadar penurunan.

Kami dapat melihat bahawa terdapat perbezaan yang jelas antara pelayan permainan tradisional dan pelayan web, dengan keperluan perniagaan yang unik seperti sambungan panjang, berbilang siaran, logik perniagaan yang kompleks dan strategi pembahagian terhad.

2. Mari kita lihat manfaat concurrency kepada pelayan permainan.

Concurrency sebenarnya adalah proses logik program, dan ia tidak memerlukan sokongan fizikal berbilang teras. Maksud umum adalah untuk membuat berbilang aliran logik bebas kelihatan seperti ia berjalan pada masa yang sama. Keselarasan tahap sistem pengendalian ialah model berbilang-benang berbilang proses. Biarkan OS mengendalikan gangguan jam, penyekatan io dan isu lain.

Untuk pelayan, jika tugasan menghabiskan sebahagian besar masanya pada io, mekanisme konkurensi boleh menghalang keseluruhan perkhidmatan peta daripada disekat oleh akses io. Apabila tugasan disekat, peruntukkan sumber pengkomputeran ganti kepada tugasan lain. Dalam kes ini, konkurensi memberi manfaat kepada kecekapan pelayan dan masa tindak balas.

Bagi pengaturcara, aliran logik bebas bermakna mereka boleh menyelesaikan tugasan mereka dalam konteks yang boleh dipercayai, ringkas dan berganding longgar.

Oleh kerana pensuisan logik pengendali OS perlu berulang kali jatuh ke dalam kernel, sesetengah orang menganggap ini terlalu perlahan, jadi mereka mencipta beberapa utas dalam ruang pengguna dan mengawal berbilang aliran logik dalam proses. Kerana keterbatasan keupayaan huraian bahasa, adalah terlalu menyusahkan untuk menulis dan menggunakan perkara sedemikian dalam C/C. Akibatnya, gula sintaksis coroutine dalam Erlang, Go dan Lua telah dilahirkan.

Node.js pada asasnya mengawal berbilang aliran logik dengan sendirinya, tetapi aliran logik ini diedarkan berdasarkan status dan keutamaan io. Dalam pelaksanaan sebenar, ia cuba menggunakan io tak segerak yang tidak menyekat Apabila satu tugasan memanggil io, saya menghentikannya, dan apabila isyarat penyiapan io dihantar, saya memulakannya semula.

Perhatikan ini, setiap kali saya menjalankan tugasan, saya tidak akan beralih secara aktif kepada aliran program lain sehingga ia selesai atau panggilan io berlaku. Jadi jika tugas ini melibatkan terlalu banyak pengiraan, keseluruhan proses peta akan disekat di sini.

Oleh kerana node.js adalah tak segerak, anda perlu sentiasa menulis panggilan balik untuk memantau isyarat penyiapan io. Aliran logik satu tugasan akan terganggu beberapa kali. Apabila tugas menjadi agak rumit, terdapat apa yang dipanggil neraka callbak, yang akan membawa masalah besar untuk penyahpepijatan dan pembangunan.

3. Atas sebab di atas, saya tidak mengesyorkan menggunakan node.js dalam pembangunan pelayan MMORPG bukan prototaip.

4. Pelayan permainan mudah alih yang baru muncul agak sesuai untuk node.js, kerana permainan mudah alih terhad kepada masalah rangkaian . Bahagian pelayan telah dipermudahkan sehingga ia tidak berbeza dengan pelayan web, dan logik perniagaan juga mudah ia hanya perlu memproses data dan kemudian meneruskannya.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Artikel tentang kawalan memori dalam Node Artikel tentang kawalan memori dalam Node Apr 26, 2023 pm 05:37 PM

Perkhidmatan Node yang dibina berdasarkan bukan sekatan dan dipacu peristiwa mempunyai kelebihan penggunaan memori yang rendah dan sangat sesuai untuk mengendalikan permintaan rangkaian besar-besaran. Di bawah premis permintaan besar-besaran, isu yang berkaitan dengan "kawalan memori" perlu dipertimbangkan. 1. Mekanisme kutipan sampah V8 dan had ingatan Js dikawal oleh mesin kutipan sampah

Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Mar 29, 2023 pm 06:02 PM

Artikel ini akan memberi anda pemahaman yang mendalam tentang memori dan pengumpul sampah (GC) enjin NodeJS V8 saya harap ia akan membantu anda!

Mari bercakap secara mendalam tentang modul Fail dalam Node Mari bercakap secara mendalam tentang modul Fail dalam Node Apr 24, 2023 pm 05:49 PM

Modul fail ialah enkapsulasi operasi fail asas, seperti membaca/menulis/membuka/menutup/memadam fail, dsb. Ciri terbesar modul fail ialah semua kaedah menyediakan dua versi **segerak** dan ** asynchronous**, dengan Kaedah dengan akhiran penyegerakan adalah semua kaedah penyegerakan, dan kaedah yang tidak semuanya adalah kaedah heterogen.

Mari kita bincangkan tentang cara memilih imej Node.js Docker terbaik? Mari kita bincangkan tentang cara memilih imej Node.js Docker terbaik? Dec 13, 2022 pm 08:00 PM

Memilih imej Docker untuk Node mungkin kelihatan seperti perkara remeh, tetapi saiz dan potensi kelemahan imej itu boleh memberi kesan yang ketara pada proses dan keselamatan CI/CD anda. Jadi bagaimana kita memilih imej Node.js Docker yang terbaik?

Node.js 19 dikeluarkan secara rasmi, mari bercakap tentang 6 ciri utamanya! Node.js 19 dikeluarkan secara rasmi, mari bercakap tentang 6 ciri utamanya! Nov 16, 2022 pm 08:34 PM

Node 19 telah dikeluarkan secara rasmi Artikel ini akan memberi anda penjelasan terperinci tentang 6 ciri utama Node.js 19. Saya harap ia akan membantu anda!

Mari bercakap tentang mekanisme GC (pengumpulan sampah) dalam Node.js Mari bercakap tentang mekanisme GC (pengumpulan sampah) dalam Node.js Nov 29, 2022 pm 08:44 PM

Bagaimanakah Node.js melakukan GC (pengumpulan sampah)? Artikel berikut akan membawa anda melaluinya.

Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Feb 08, 2023 am 10:09 AM

Sebab mengapa nod tidak boleh menggunakan arahan npm adalah kerana pembolehubah persekitaran tidak dikonfigurasikan dengan betul Penyelesaiannya ialah: 1. Buka "Sistem Sifat"; 2. Cari "Pembolehubah Persekitaran" -> "Pembolehubah Sistem", dan kemudian edit persekitaran. pembolehubah; 3. Cari lokasi folder nodejs;

Mari kita bincangkan tentang gelung acara dalam Node Mari kita bincangkan tentang gelung acara dalam Node Apr 11, 2023 pm 07:08 PM

Gelung peristiwa ialah bahagian asas Node.js dan mendayakan pengaturcaraan tak segerak dengan memastikan bahawa utas utama tidak disekat Memahami gelung peristiwa adalah penting untuk membina aplikasi yang cekap. Artikel berikut akan memberi anda pemahaman yang mendalam tentang gelung acara dalam Node.

See all articles