Ejemplo n.º 1
0
 public static ServerAdvertisingData Desserialize(byte[] data)
 {
     ServerAdvertisingData result = new ServerAdvertisingData();
     using (MemoryStream m = new MemoryStream(data))
     {
         using (BinaryReader reader = new BinaryReader(m))
         {
             result.m_ServerConnectionMaxCount = reader.ReadInt32();
             result.m_ServerConnectPort = reader.ReadInt32();
             result.m_ServerName = reader.ReadString();
         }
     }
     return result;
 }
Ejemplo n.º 2
0
    public void StartServerAdvertising(int _AdvertisingPort)
    {
        if (IsServerStarted() == false)
        {
            Debug.Log("Start Server advertising failed (port " + _AdvertisingPort + "): Server hasn't started yet, is in state " + m_ServerState.ToString());
        }
        else if (m_NetworkMode == NetworkMode.E_NetworkLanOnly)
        {
            if (m_ServerAdvertisingDataLAN != null)
            {
                Debug.Log("Start Server advertising failed (port " + _AdvertisingPort + "): Server advertising already started on port " + m_BroadcastListeningPortLAN);
            }
            else if (_AdvertisingPort == m_ConnectPort)
            {
                Debug.Log("Start Server advertising failed (port " + _AdvertisingPort + "): port already used for client connections.");
            }
            else
            {
                Debug.Log("Starting Server advertising on port " + _AdvertisingPort + " ...");
                m_BroadcastListeningPortLAN = _AdvertisingPort;

                ServerAdvertisingData serverAdvertData = new ServerAdvertisingData(m_ConnectionCountMax, m_ConnectPort, m_PublicServerName);
                m_ServerAdvertisingDataLAN = serverAdvertData.Serialize();

                RequestListenForClients();
            }
        }
        else
        {
            System.Diagnostics.Debug.Assert(m_NetworkMode == NetworkMode.E_NetworkOnlineOnly);
            //@TODO do online server registration to master server
        }
    }