Are you checking the connection before you attempt your data transfer?
something like
Code:
BOOL isDataSourceAvailable()
{
SCNetworkReachabilityRef reachabilityRef = SCNetworkReachabilityCreateWithName(kCFAllocatorDefault, "www.yourserver.com");
SCNetworkReachabilityFlags reachabilityFlags;
BOOL gotFlags = SCNetworkReachabilityGetFlags(reachabilityRef, &reachabilityFlags);
CFRelease(reachabilityRef);
if (!gotFlags) return NO;
BOOL isReachable = reachabilityFlags & kSCNetworkReachabilityFlagsReachable;
BOOL noConnectionRequired = !(reachabilityFlags & kSCNetworkReachabilityFlagsConnectionRequired);
if ((reachabilityFlags & kSCNetworkReachabilityFlagsIsWWAN)) noConnectionRequired = YES;
return (isReachable && noConnectionRequired) ? YES : NO;
}