public IosSDK GetIosSDK() { return(_context.GetIosSDK()); }
/// <summary> /// 连接指定的服务器。 /// </summary> public bool Connect(Server server, AddressFamily addressFamily = AddressFamily.InterNetwork) { _networkAddressFamily = addressFamily; if (_socket != null) { _socket.Close(); _socket = null; } if (server == Server.Null || server == Server.CServer) { // 其他的服务器就不用连接了。 return(false); } var hServerAddress = _hServerAddress.Read(); var gServerAddress = _gServerAddress.Read(); string host = ""; int port = 0; switch (server) { case Server.PServer: host = GetHost(); port = GetPort(); break; case Server.HServer: host = hServerAddress; port = 11122; break; case Server.GServer: if (gServerAddress == null) { MyLog.ErrorWithFrame( name, string.Format("GameServer Address Error ") ); return(false); } host = gServerAddress.Ip; port = gServerAddress.Port; break; default: break; } MyLog.InfoWithFrame( name, string.Format("Connect gate server: {0}:{1}", host, port) ); #if UNITY_IOS var ios = _context.GetIosSDK(); if (addressFamily == AddressFamily.InterNetworkV6) { host = ios.GetIpV6(host); MyLog.InfoWithFrame(name, string.Format("convert to ipv6: {0}", host)); } #endif if (string.IsNullOrEmpty(host)) { return(false); } var socketFactory = _context.GetSocketFactory(); _socket = socketFactory.CreateSocket(); return(_socket.Connect(host, port, server, addressFamily)); }