서버 상태 점검 방법¶
서버가 게임 안에서 제대로 작동하는지 확인해야 할 때가 있습니다.
이때 노드 수를 알면 마스터 서버의 상태를 확인할 수 있습니다. 방 서버가 마스터 서버에 몇 개나 연결되어 있는지 알 수 있기 때문입니다. 노드 수를 알려면 서버에 연결한 후 NodeClient 인스턴스의 GetCount() 메서드를 호출하면 됩니다.
public void Connect() {
StrixNetwork.instance.applicationId = "00000000-0000-0000-0000-000000000000";
StrixNetwork.instance.ConnectMasterServer(
"000000000000000000000000.game.strixcloud.net",
OnConnectCallback,
OnConnectFailedCallback
);
}
// 마스터 서버에 연결 성공하면 콜백 함수 호출
private void OnConnectCallback(StrixNetworkConnectEventArgs args) {
Debug.Log("Connection established");
StrixNetwork.instance.masterSession.nodeClient.GetCount(
new GetCountMessage<CustomizableMatchServerNode>(),
response => {
Debug.Log("Node count " + response.Result.GetCount());
}, null);
}
// 마스터 서버에 연결 실패하면 콜백 함수 호출
private void OnConnectFailedCallback(StrixNetworkConnectFailedEventArgs args) {
Debug.Log("Connect failed. error = " + args.cause);
}
여기서 StrixNetwork
는 Strix API와 인터페이스하는 싱글톤 클래스입니다.
함수 GetCount()는 OnConnectCallback() 콜백 함수 안에서 호출해야 합니다. GetCount()는 연결이 완료된 후에만 호출할 수 있습니다.