Я пытаюсь настроить NetworkServer NetworkClient в Unity
Я предпочитаю не использовать NetworkManager, поскольку он требует настройки сцены Online/Offline. Я бы хотел, чтобы игрок оставался в той же сцене и выполнял большую часть того, что NetworkManager делает сам, в целях обучения.
Моя проблема в том, что я не могу узнать, когда сервер запускается.
Теперь класс NetworkBehaviour имеет виртуальный void OnStartServer, и в документации сказано, что NetworkServer.Listen() «может» его вызвать.
Любой информация о том, когда срабатывает эта функция?
И в чем разница между Network.InitializeServer() и NetworkServer.Listen(), является ли Network.InitializeServer() устаревшим сервером из Unity?
Текущий код:
public class MyCustomNetworkManager : NetworkBehaviour
{
public void StartServer()
{
NetworkServer.Listen("127.0.0.1", 1234);
NetworkServer.RegisterHandler(MsgType.Connect, OnClientConnect);
//This in relation with OnServerInitialized Message from Unity works but can't connect with this connection.
//Network.InitializeServer(4, 1234, false);
}
public override void OnStartServer()
{
//This does not get called what so ever.
}
public void OnClientConnect(NetworkMessage message)
{
Debug.Log("A player connected");
}
void OnServerInitialized()
{
//This works but NetworkClient cannot connect with this server.
}
}
Подробнее здесь: https://stackoverflow.com/questions/405 ... verstarted