2017-04-21 58 views
0

我正在嘗試創建一個簡單的多人遊戲。我已經建立了一個配對系統,並且在設備與互聯網連接時工作正常,即在線大廳已成功創建。但是,當我嘗試在沒有互聯網接入的本地網絡上創建大廳時,沒有任何反應。Unity:本地(局域網)匹配錯誤

這裏是我使用的主機遊戲的代碼:

void Start() 
{ 
    netManager = NetworkManager.singleton; 
    if(netManager.matchMaker == null) 
    { 
     netManager.StartMatchMaker(); 
    } 

    roomName = "MyGameRoom"; 
    roomSize = 12; 
} 

public void CreateRoom() 
{ 
    if (roomName != "" && roomName != null) 
    { 
     Debug.Log("Creating Room:" + roomName); 
     netManager.matchMaker.CreateMatch(roomName, roomSize, true, "", "", "", 0, 0, netManager.OnMatchCreate); 
    } 
} 

現在,如果設備連接到互聯網,遊戲成功舉辦。但是,如果設備連接到沒有互聯網服務的WiFi,則在調用CreateRoom方法時不會發生任何事情。

CreateRoom()方法與按鈕的onClick事件相關聯。

我是新來團結網絡,希望有人能指出我做錯了什麼。 謝謝。

+0

在編輯器中運行應用程序時檢查控制檯,並在出現錯誤時向錯誤添加錯誤。 –

+0

@ itay_421沒有錯誤,這是控制檯說的................'MatchMakingClient Create:https://mm.unet.unity3d.com/json/reply/CreateMatchRequest UnityEngine.Networking.Match.NetworkMatch:CreateMatch(String,UInt32,Boolean,String,String,String,Int32,Int32,DataResponseDelegate'1)' –

回答

1

基本的MatchMaking服務基於連接到統一的MatchMaker服務器(https://mm.unet.unity3d.com),並且此服務器位於Internet上,這意味着如果您未連接到Internet,則無法連接到它。解決方案是使用NetworkDiscovery,它可以讓您的服務器通過網絡發送廣播消息,以便客戶端可以「聽到」廣播,然後連接到發件人。如果你想要樣品檢查這個thread