Maison > développement back-end > Golang > La feuille de golang est-elle beaucoup utilisée ?

La feuille de golang est-elle beaucoup utilisée ?

(*-*)浩
Libérer: 2019-12-13 13:03:58
original
3123 Les gens l'ont consulté

La feuille de golang est-elle beaucoup utilisée ?

Leaf est un framework de serveur de jeux open source écrit en langage Go (golang) qui met l'accent à la fois sur l'efficacité du développement et sur l'efficacité de l'exécution. Leaf convient au développement de divers serveurs de jeux, notamment des serveurs de jeux H5 (HTML5).

Le point d'attention de LEAF : (Apprentissage recommandé : GO )

Une bonne expérience. Leaf fournit toujours des interfaces aussi simples et faciles à utiliser que possible pour améliorer autant que possible l'efficacité du développement

stabilité. Leaf fait toujours de son mieux pour récupérer des erreurs pendant le fonctionnement et éviter les plantages

Support multicœur. Leaf utilise autant que possible les ressources multicœurs via le mécanisme de module et leaf/go, tout en essayant d'éviter divers effets secondaires

Mécanisme de module.

Mécanisme des modules de Leaf

Un serveur de jeu développé par Leaf se compose de plusieurs modules (tels que LeafServer). Les modules ont les caractéristiques suivantes :

Chaque module s'exécute dans une goroutine distincte

Les modules communiquent via un ensemble de mécanismes RPC légers (leaf/chanrpc)

Leaf n'est pas recommandé dans les serveurs de jeu Concevoir trop de modules .

Le serveur de jeu enregistre les modules au démarrage, par exemple :

leaf.Run(
game.Module,
gate.Module,
login.Module,
)
Copier après la connexion

Ici, trois modules, jeu, portail et connexion, sont enregistrés dans l'ordre. Chaque module doit implémenter l'interface :

type Module interface {OnInit()OnDestroy()Run(closeSig chan bool)
}
Copier après la connexion

Leaf exécutera d'abord la méthode OnInit du module dans la même goroutine dans l'ordre d'enregistrement du module. Une fois l'exécution de la méthode OnInit de tous les modules terminée, un. goroutine sera démarré pour chaque module et exécutera la méthode Run du module.

Enfin, lorsque le serveur de jeu est arrêté (Ctrl + C pour fermer le serveur de jeu), la méthode OnDestroy du module sera exécutée dans la même goroutine dans l'ordre inverse de l'enregistrement du module.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal