public void ConnectServerWithTdirDefault(int index, ChooseSvrPolicy policy) { this.chooseSvrPol = policy; this.isLoginingByDefault = true; IPAddrInfo info = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginOnlyVPort = ushort.Parse(info.port); ApolloConfig.ISPType = MonoSingleton <TdirMgr> .GetInstance().GetISP(); if (MonoSingleton <CTongCaiSys> .instance.IsCanUseTongCai()) { IPAddrInfo info2 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginUrl = string.Format("tcp://{0}:{1}", MonoSingleton <CTongCaiSys> .instance.TongcaiUrl, info2.port); ApolloConfig.loginOnlyIpOrUrl = MonoSingleton <CTongCaiSys> .instance.TongcaiUrl; } else { IPAddrInfo info3 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; IPAddrInfo info4 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginUrl = string.Format("tcp://{0}:{1}", info3.ip, info4.port); IPAddrInfo info5 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginOnlyIpOrUrl = info5.ip; } this.ConnectServer(); Singleton <BeaconHelper> .GetInstance().Event_CommonReport("Event_LoginMsgSend"); }
private string GetLobbyNormalConnectUrl(uint curConnectTime) { string ip = null; int connectIndex = MonoSingleton <TdirMgr> .instance.m_connectIndex; if ((curConnectTime == 1) || (curConnectTime == 2)) { IPAddrInfo info = MonoSingleton <TdirMgr> .instance.SelectedTdir.addrs[connectIndex]; ip = info.ip; } else if ((curConnectTime == 3) || (curConnectTime == 4)) { ip = MonoSingleton <TdirMgr> .instance.GetLianTongIP(); } else if ((curConnectTime == 5) || (curConnectTime == 6)) { ip = MonoSingleton <TdirMgr> .instance.GetYiDongIP(); } else if ((curConnectTime == 7) || (curConnectTime == 8)) { ip = MonoSingleton <TdirMgr> .instance.GetDianXingIP(); } if (ip == null) { IPAddrInfo info2 = MonoSingleton <TdirMgr> .instance.SelectedTdir.addrs[connectIndex]; ip = info2.ip; } return(ip); }
private void ConnectServerWithTdirCandidate(int index) { bool flag = false; this.isLoginingByDefault = false; IPAddrInfo info = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginOnlyVPort = ushort.Parse(info.port); if (MonoSingleton <CTongCaiSys> .instance.IsCanUseTongCai()) { flag = true; ApolloConfig.ISPType = MonoSingleton <TdirMgr> .GetInstance().GetISP(); ApolloConfig.loginOnlyIpOrUrl = MonoSingleton <CTongCaiSys> .instance.TongcaiIps[ApolloConfig.ISPType]; IPAddrInfo info2 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginUrl = string.Format("tcp://{0}:{1}", ApolloConfig.loginOnlyIpOrUrl, info2.port); } else { object param = 0; if (MonoSingleton <TdirMgr> .GetInstance().ParseNodeAppAttr(MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.attr, TdirNodeAttrType.ISPChoose, ref param)) { Dictionary <string, int> dictionary = (Dictionary <string, int>)param; if (dictionary != null) { foreach (KeyValuePair <string, int> pair in dictionary) { if (pair.Value == MonoSingleton <TdirMgr> .GetInstance().GetISP()) { IPAddrInfo info3 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginUrl = string.Format("tcp://{0}:{1}", pair.Key, info3.port); ApolloConfig.loginOnlyIpOrUrl = pair.Key; ApolloConfig.ISPType = MonoSingleton <TdirMgr> .GetInstance().GetISP(); flag = true; break; } } } } } if (flag) { this.ConnectServer(); } else { this.ConnectFailed(); } }
public void ProcessGetHostAddress() { if ((this.getAddressResult != null) && this.getAddressResult.get_IsCompleted()) { IPAddress[] addressArray = Dns.EndGetHostAddresses(this.getAddressResult); this.getAddressResult = null; if ((addressArray != null) && (addressArray.Length > 0)) { string str = addressArray[0].ToString(); object param = 0; if (this.ParseNodeAppAttr(this.mSelectedTdir.attr, TdirNodeAttrType.ISPChoose, ref param)) { Dictionary <string, int> dictionary = (Dictionary <string, int>)param; ApolloConfig.ISPType = dictionary[str]; } IPAddrInfo info = this.mSelectedTdir.addrs[0]; IPAddrInfo info2 = this.mSelectedTdir.addrs[0]; ApolloConfig.loginUrl = string.Format("tcp://{0}:{1}", info.ip, info2.port); IPAddrInfo info3 = this.mSelectedTdir.addrs[0]; ApolloConfig.loginOnlyIpOrUrl = info3.ip; IPAddrInfo info4 = this.mSelectedTdir.addrs[0]; ApolloConfig.loginOnlyVPort = ushort.Parse(info4.port); } else { object obj3 = 0; if (this.ParseNodeAppAttr(this.mSelectedTdir.attr, TdirNodeAttrType.ISPChoose, ref obj3)) { Dictionary <string, int> dictionary2 = (Dictionary <string, int>)obj3; if (dictionary2 != null) { foreach (KeyValuePair <string, int> pair in dictionary2) { if (pair.Value == this.GetISP()) { IPAddrInfo info5 = this.mSelectedTdir.addrs[0]; ApolloConfig.loginUrl = string.Format("tcp://{0}:{1}", pair.Key, info5.port); ApolloConfig.loginOnlyIpOrUrl = pair.Key; IPAddrInfo info6 = this.mSelectedTdir.addrs[0]; ApolloConfig.loginOnlyVPort = ushort.Parse(info6.port); ApolloConfig.ISPType = this.GetISP(); break; } } } } } this.ConnectLobby(); } }
public void ConnectServerWithTdirDefault(int index) { this.isLoginingByDefault = true; IPAddrInfo info = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; IPAddrInfo info2 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginUrl = string.Format("tcp://{0}:{1}", info.ip, info2.port); IPAddrInfo info3 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginOnlyIpOrUrl = info3.ip; IPAddrInfo info4 = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.addrs[index]; ApolloConfig.loginOnlyVPort = ushort.Parse(info4.port); ApolloConfig.ISPType = 1; this.ConnectServer(); Singleton <BeaconHelper> .GetInstance().Event_CommonReport("Event_LoginMsgSend"); }
private bool CreateSvrUrl(TdirTreeNode node, ref TdirUrl tdirUrl) { string connectUrl = node.dynamicInfo.connectUrl; if (string.IsNullOrEmpty(connectUrl)) { return(false); } if (!this.CheckTreeNodeValid(node)) { return(false); } tdirUrl.nodeID = node.nodeID; tdirUrl.name = node.name; tdirUrl.statu = (TdirSvrStatu)node.status; if ((tdirUrl.statu == TdirSvrStatu.FINE) || (tdirUrl.statu == TdirSvrStatu.HEAVY)) { tdirUrl.flag = (SvrFlag)node.svrFlag; } else { tdirUrl.flag = SvrFlag.NoFlag; } tdirUrl.mask = node.staticInfo.bitmapMask; tdirUrl.addrs = new List <IPAddrInfo>(); tdirUrl.attr = node.staticInfo.appAttr; if (node.userRoleInfo != null) { tdirUrl.roleCount = (uint)node.userRoleInfo.Count; uint lastLoginTime = 0; for (int j = 0; j < node.userRoleInfo.Count; j++) { TdirUserRoleInfo info3 = node.userRoleInfo[j]; if (info3.lastLoginTime > lastLoginTime) { TdirUserRoleInfo info4 = node.userRoleInfo[j]; lastLoginTime = info4.lastLoginTime; } } tdirUrl.lastLoginTime = lastLoginTime; } else { tdirUrl.roleCount = 0; tdirUrl.lastLoginTime = 0; } char[] separator = new char[] { ';' }; string[] strArray = connectUrl.Split(separator); if (strArray == null) { return(false); } for (int i = 0; i < strArray.Length; i++) { char[] chArray2 = new char[] { ':' }; string[] strArray2 = strArray[i].Split(chArray2); for (int k = 1; k < strArray2.Length; k++) { if (strArray2[k].IndexOf('-') >= 0) { int num5; int num6; char[] chArray3 = new char[] { '-' }; string[] strArray3 = strArray2[k].Split(chArray3); if (((strArray3.Length == 2) && int.TryParse(strArray3[0], out num5)) && (int.TryParse(strArray3[1], out num6) && (num5 <= num6))) { int num7 = (num6 - num5) + 1; for (int m = 0; m < num7; m++) { int num9 = num5 + m; IPAddrInfo item = new IPAddrInfo { ip = strArray2[0], port = num9.ToString() }; tdirUrl.addrs.Add(item); } } } else { IPAddrInfo info2 = new IPAddrInfo { ip = strArray2[0], port = strArray2[k] }; tdirUrl.addrs.Add(info2); } } } object param = null; if (this.ParseNodeAppAttr(tdirUrl.attr, TdirNodeAttrType.LogicWorldID, ref param)) { tdirUrl.logicWorldID = (int)param; } else { tdirUrl.logicWorldID = 0; } return(true); }