[团结 5]对接会 : 比赛不可见

[Unity 5]matchmaking : matches not visible

我需要你的帮助,因为我有一个关于配对的问题。我试着让 Pong 可以在线播放。当我使用 NetworkHUD 并使用 Matchmaker 时,我可以创建一个匹配项,然后另一个应用程序(目前在同一台计算机上)将其分离并加入。但是,当我不使用它,而是手动使用媒人时,我可以创建一个匹配,我有一个成功的响应,我可以在同一个应用中找到这个匹配,但是,在我的第二个应用中,我找不到第一个应用程序创建的匹配项。

你能帮帮我吗?

这是我创建匹配的两个函数:

 public void matchmaking()
     {
         nm.StartMatchMaker();
         networkMatch.ListMatches(0, 20, "", OnMatchList);
         Debug.LogError ("NBR MATCH " +matchList.Count);
         if (matchList.Count == 0)
         {
             CreateMatchRequest match = new CreateMatchRequest();
             match.name = "OrionPongRoom";
             match.size = 2;
             match.advertise = true;
             match.password = "";
             networkMatch.CreateMatch(match, OnMatchCreate);
         }
         else
             Debug.Log ("******matches found"+matchList.Count);
     }
    void OnMatchCreate(CreateMatchResponse matchResponse)
 {
     if (matchResponse.success)
     {
         Debug.LogError("Create match succeeded");
         matchCreated = true;
         MatchInfo matchInfo = new MatchInfo(matchResponse);
         Utility.SetAccessTokenForNetwork(matchResponse.networkId, new NetworkAccessToken(matchResponse.accessTokenString));
         nm.StartHost(matchInfo);
         NetworkServer.Listen(9000);
         //NetworkServer.Listen(new MatchInfo(matchResponse), 9000);
     }
     else
     {
         Debug.LogError ("Create match failed");
     }
 }

你需要写

     if (matchList.Count == 0)
     {
         CreateMatchRequest match = new CreateMatchRequest();
         match.name = "OrionPongRoom";
         match.size = 2;
         match.advertise = true;
         match.password = "";
         networkMatch.CreateMatch(match, OnMatchCreate);
     }
     else
         Debug.Log ("******matches found"+matchList.Count);

OnMatchList 方法中。

void OnMatchList(ListMatchResponse matchList)
{
  if (matchList.Count == 0)
         {
             CreateMatchRequest match = new CreateMatchRequest();
             match.name = "OrionPongRoom";
             match.size = 2;
             match.advertise = true;
             match.password = "";
             networkMatch.CreateMatch(match, OnMatchCreate);
         }
         else
             Debug.Log ("******matches found"+matchList.Count);
}

由于Network Delays等原因,匹配服务器无法同步发送响应。