Сетевой менеджер Unity онлайн-сватовство

В приведенном ниже коде показано, как мы можем разместить игру или присоединиться к ней, используя сетевую систему единства. Как вы видите в приведенном ниже коде, есть два поля ввода, которые обычно принимают «localhost» и «7777».

public class CustomNetworkManager : NetworkManager {

    [SerializeField] InputField InputField_IP;
    [SerializeField] InputField InputField_Port;

    public void HostGame()
    {
        singleton.networkPort = InputField_Port.text;
        singleton.StartHost();
    } 

    public void JoinGame()
    {
        singleton.networkPort = InputField_Port.text;
        singleton.networkAddress = InputField_IP.text;
        singleton.StartClient();
    } 

}

Но я хочу создать игру, в которой игрок может разместить игру, тогда его IP и порт будут показаны (например) в тексте пользовательского интерфейса, и он сможет отправить этот IP и порт другим игрокам, и они смогут присоединиться к игре. Я все еще новичок в сети, и может кто-нибудь сказать мне, пожалуйста, это можно сделать, и есть ли способ присоединиться к хосту, который подключен к Интернету, но вы не находитесь в той же сети? Примечание. Я говорю об устройствах Android.


person Armin    schedule 15.08.2017    source источник
comment
Для этого используются Unity NetworkLobbyManager и CreateMatchRequest API. Это не бесплатно для использования. Если вы хотите знать, как сделать свой с нуля.   -  person Programmer    schedule 15.08.2017


Ответы (1)


https://www.assetstore.unity3d.com/en/#!/content/41836 Вы можете использовать этот актив, и есть вкладка под названием «Подключение вручную», которая делает то же самое.

person ZayedUpal    schedule 15.08.2017