Ejemplo n.º 1
0
        public Server getDataFromXML()
        {
            Server loginserver = null;
            try
            {
                //path = "http://loginapi.brokendiamond.org/servers.xml";
                path = "http://loginapi.clockworkconflicts.com/servers.xml";
                XmlTextReader reader = new XmlTextReader(path);

                string extIP = null;
                string intIP = null;
                int serverPort = 0;
                string serverStatus = null;

                while (reader.Read())
                {
                    while (reader.Read())
                    {
                        if (reader.NodeType == XmlNodeType.Element)
                        {
                            switch (reader.Name)
                            {
                                case "status":
                                    serverStatus = reader.ReadInnerXml();
                                    break;
                                case "ExternalIp":
                                    extIP = reader.ReadInnerXml();
                                    break;
                                case "InternalIp":
                                    intIP = reader.ReadInnerXml();
                                    break;
                                case "port":
                                    serverPort = Convert.ToInt32(reader.ReadInnerXml());
                                    break;
                            }
                        }
                    }
                }

                if (serverPort != 0)
                {
                    string ownExtIp = GetExternalIp();
                    string ownIntIp = getInternalIp();
                    int index = -1;
                    index = extIP.LastIndexOf('.');
                    string extIP2 = extIP.Substring(0, index);
                    index = -1;
                    index = ownExtIp.LastIndexOf('.');
                    string ownExtIp2 = ownExtIp.Substring(0, index);

                    if (extIP != ownExtIp)
                    {
                        Debug.Log("Connecting to: " + extIP);
                        loginserver = new Server(serverPort, "Loginserver", serverStatus, extIP);
                    }
                    else if (intIP != ownIntIp)
                    {
                        Debug.Log("Connecting to: " + intIP);
                        loginserver = new Server(serverPort, "Loginserver", serverStatus, intIP);
                    }
                    else
                    {
                        loginserver = new Server(serverPort, "Loginserver", serverStatus, "127.0.0.1");
                        Debug.Log("Connecting to: 127.0.0.1");
                    }
                    Debug.Log("Internal: " + ownIntIp + "/" + intIP + " External:" + ownExtIp + "/" + extIP);
                }

            }
            //Show the exeption in debugmode
            catch (Exception e)
            {
                GuiController.getInstance().SetDebugText("XMLHandler error: " + e.ToString());
                //loginserver = new Server(26800, "Loginserver", "Online", "127.0.0.1");
            }
            return loginserver;
        }
Ejemplo n.º 2
0
 public void setMode(int mode, string ip = null)
 {
     switch (mode)
     {
         case 0:
             if (ip != null)
             {
                 loginServer = new Server(26800, "Loginserver", "Online", ip);
             }
             else
             {
                 loginServer = new Server(26800, "Loginserver", "Online", "192.168.189.5");
             }
             break;
         case 1:
             loginServer = new Server(26800, "Loginserver", "Online", "127.0.0.1");
             break;
         default:
             loginServer = persistenceController.getLoginServer();
             break;
     }
 }