public async Task <string> GetHostHelper(MobiledgeXIntegration mxi, string proto, int port = 0) { bool registerCheck = await RegisterHelper(mxi); await Task.Delay(TimeSpan.FromMilliseconds(1000)); if (!registerCheck) { throw new RegisterClientException("RegisterClient Failed"); } bool findCloudletCheck = await FindCloudletHelper(mxi); await Task.Delay(TimeSpan.FromMilliseconds(1000)); if (!findCloudletCheck) { throw new FindCloudletException("FindCloudlet Failed"); } AppPort appPort; switch (proto) { case "udp": appPort = mxi.GetAppPort(LProto.L_PROTO_UDP, port); break; case "ws": case "wss": case "http": case "https": default: appPort = mxi.GetAppPort(LProto.L_PROTO_TCP, port); break; } return(mxi.GetHost(appPort)); }