Example #1
0
    /// <summary>
    /// handles broadcast messages
    /// </summary>
    private void HandleBroadcast()
    {
        string ip;
        int    port;
        byte   error;

        byte[] buffer = new byte[1024];
        int    size;

        NetworkTransport.GetBroadcastConnectionInfo(m_hostId, out ip, out port, out error);
        NetworkTransport.GetBroadcastConnectionMessage(m_hostId, buffer, 1024, out size, out error);

        NetUtilGameAdvert advert   = ConstructType <NetUtilGameAdvert>(buffer, 1, size - 1);
        NetUtilGameInfo   gameInfo = new NetUtilGameInfo();

        gameInfo.name        = advert.name;
        gameInfo.playerCount = advert.playerCount;
        gameInfo.playerLimit = advert.playerLimit;
        gameInfo.ip          = ip;
        gameInfo.port        = port;
        gameInfo.time        = Time.time;

        m_remoteGames[gameInfo.ip + ":" + port] = gameInfo;
    }
Example #2
0
 /// <summary>
 /// returns a collection of detected remote games capable of being joined
 /// </summary>
 public NetUtilGameInfo[] GetGameList()
 {
     NetUtilGameInfo[] output = new NetUtilGameInfo[m_remoteGames.Count];
     m_remoteGames.Values.CopyTo(output, 0);
     return(output);
 }