> 백엔드 개발 > Golang > 고랑잎을 많이 사용하나요?

고랑잎을 많이 사용하나요?

(*-*)浩
풀어 주다: 2019-12-13 13:03:58
원래의
3096명이 탐색했습니다.

고랑잎을 많이 사용하나요?

Leaf는 개발 효율성과 실행 효율성을 모두 강조하는 Go 언어(golang)로 작성된 오픈소스 게임 서버 프레임워크입니다. Leaf는 H5(HTML5) 게임 서버를 비롯한 다양한 게임 서버 개발에 적합합니다.

Leaf의 초점:                                               (권장 학습: go)

좋은 사용자 경험. Leaf는 항상 최대한 간단하고 사용하기 쉬운 인터페이스를 제공하여 개발 효율성과 안정성을 최대한 향상시킵니다. Leaf는 작동 중 오류를 복구하고 충돌을 피하기 위해 항상 최선을 다합니다

멀티 코어 지원. 리프는 모듈 메커니즘과 리프/고를 통해 멀티코어 자원을 최대한 활용하면서 다양한 부작용

모듈 메커니즘을 피하려고 노력합니다.

Leaf의 모듈 메커니즘

Leaf에서 개발한 게임 서버는 여러 모듈(예: LeafServer)로 구성됩니다. 모듈은 다음과 같은 특징을 갖습니다.

각 모듈은 별도의 고루틴에서 실행됩니다.

모듈 간 전달을 통해. 경량 RPC 메커니즘 통신 세트(leaf/chanrpc)

Leaf는 게임 서버에 너무 많은 모듈을 설계하는 것을 권장하지 않습니다.

게임 서버는 시작 시 모듈을 등록합니다. 예:

leaf.Run(
game.Module,
gate.Module,
login.Module,
)
로그인 후 복사
여기에는 게임, 게이트, 로그인 세 가지 모듈이 순서대로 등록됩니다. 각 모듈은 인터페이스를 구현해야 합니다.

type Module interface {OnInit()OnDestroy()Run(closeSig chan bool)
}
로그인 후 복사

Leaf는 먼저 모듈 등록 순서에 따라 동일한 고루틴에서 모듈의 OnInit 메서드를 실행합니다. 모든 모듈의 OnInit 메서드 실행이 완료된 후 고루틴이 시작됩니다. 각 모듈에 대해 해당 모듈의 Run 메서드가 실행됩니다.

마지막으로 게임 서버가 종료되면(Ctrl + C로 게임 서버 종료) 모듈 등록의 역순으로 동일한 고루틴에서 모듈의 OnDestroy 메서드가 실행됩니다.

위 내용은 고랑잎을 많이 사용하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿