`

iphone 测试网络链接

阅读更多

有时候我们需要知道手机是否已经链接网络,,或者是链接的网络的类型。。。可以这么做:

(一) 是否链接网络:

需要导入SystemConfiguration.framework

#import <netdb.h>
#import <SystemConfiguration/SCNetworkReachability.h>

//定义internet的套接字地址 一般情况下,需要把sockaddr_in结构强制转换成sockaddr结构再传入系统调用函数中。
    struct sockaddr_in zeroAddress;
    //将zeroAddress置零
	bzero(&zeroAddress, sizeof(zeroAddress));
	zeroAddress.sin_len = sizeof(zeroAddress);
	zeroAddress.sin_family = AF_INET; //主机字节序
    
    //创建链接测试  第二个参数是链接的ip地址
	SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
    //网络可达性标志
	SCNetworkReachabilityFlags flags;
	
    //测试可达性标志可不可用
    
	BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
	CFRelease(defaultRouteReachability);
	
	if (!didRetrieveFlags) {
		printf("Error. Count not recover network reachability flags\n");
	}
	//
	BOOL isReachable = flags & kSCNetworkFlagsReachable;
	BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;
    
    NSString *result;
	if ((isReachable && !needsConnection) ? YES : NO) {
		result = @"Connection Successed!!!";
	}else {
		result = @"Connection Faild!!!";
	}
	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"TestConnection" 
                                                    message:result
												   delegate:self
										  cancelButtonTitle:@"OK,I Know" 
                                          otherButtonTitles:nil];
	[alert show];

 (二) 网络链接的类型:

NSString *connectionKind;
    // 测试连接可用性
    Reachability *hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"];
	// 判断连接类型
    switch ([hostReach currentReachabilityStatus]) {
		case NotReachable:
			connectionKind = @"没有网络链接";
			break;
		case ReachableViaWiFi:
			connectionKind = @"当前使用的网络类型是WIFI";
			break;
		case ReachableViaWWAN:
			connectionKind = @"当前使用的网络链接类型是WWAN(3G)";
			break;
		default:
			break;
	}
	
	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络链接类型" 
                                                    message:connectionKind
												   delegate:self
										  cancelButtonTitle:@"知道了,谢谢" 
                                          otherButtonTitles:nil];
	[alert show];

 基本的需要已经满足。。。。

有好的建议希望回复。。。。

 
分享到:
评论

相关推荐

    .net编写的iPhone连接SSH通道源码

    1. **设备识别与连接**:通过USBMUX协议,代码能检测并连接到iPhone。USBMUX协议是Apple设备管理的一种方式,允许通过USB接口进行设备识别和通信。在.NET环境下,可以使用第三方库如libimobiledevice .NET绑定来实现...

    iPhone网络共享驱动

    安装驱动后,你的电脑应该能在“网络和共享中心”中看到一个新的网络连接选项,通常显示为“iPhone的USB连接”。选择这个连接,输入iPhone设置中的Wi-Fi密码,或在蓝牙设置中配对,就可以让电脑通过iPhone接入互联网...

    傻瓜教程:把Iphone程序连接真机调试[转]

    在IT行业中,尤其是在iOS开发领域,将iPhone应用程序连接到真机进行调试是一项基本且至关重要的技能。本教程将深入探讨如何实现这一过程,确保开发者能够有效地测试和优化他们的应用程序。 首先,我们需要理解的是...

    iphone 网络收发测试程序

    《iPhone网络收发测试程序详解》 在移动应用开发领域,iPhone平台因其强大的硬件性能和丰富的用户群体,一直是开发者关注的焦点。对于初学者来说,理解并掌握iPhone网络编程是必不可少的技能。本文将深入探讨标题为...

    iphone网络编程知识必备

    这些文件包含了用于检测网络状态的所有必要代码。 2. **添加框架:** - 将`SystemConfiguration.framework`框架添加至项目。该框架提供了对系统配置数据的访问,其中包括网络配置信息。 **检测网络状态:** 在`...

    iphone Socket通信例子

    7. **网络状态检测**:在移动设备上,网络状态可能会频繁变化,因此在进行Socket通信时,应监控网络状态,如使用Reachability框架来判断网络是否可用。 通过这个“iPhone Socket通信例子”,开发者可以深入理解如何...

    iPhone连接打印机airprint

    1. **设备连接**:首先,确保您的iPhone或其他iOS设备已连接到与打印机所在的同一Wi-Fi网络。这是AirPrint工作基础,因为无线打印依赖于设备间的网络通信。 2. **服务器角色**:在某些情况下,如果您的打印机不直接...

    iphone配置实用工具

    2. **网络诊断**:实用工具内置了网络诊断功能,可以检测网络连接状况,找出可能导致3G无法使用的问题所在。通过诊断结果,用户可以有针对性地进行故障排除。 3. **网络重置**:在某些情况下,恢复网络设置到出厂...

    iOS iPhone 网络编程源代码网络通讯

    在iOS开发中,网络编程是不可或缺的一部分,尤其是在iPhone应用开发中。这个主题主要涉及如何使用Objective-C或Swift语言实现网络通信功能,使应用程序能够通过互联网发送和接收数据。本资源包"SimpleNetworkStreams...

    iphone6手机连不上移动网络的处理方法.pdf

    等待约10秒后,再次长按电源键重新开机,看看是否能恢复网络连接。 2. **切换飞行模式**: - 在iPhone的主屏幕上向上滑动打开控制中心,点击飞行模式图标,等待几秒钟后再关闭。这有时可以重置无线网络设置,帮助...

    iPhone网络编程

    这包括3G、WIFI等不同类型的网络连接。苹果提供了Reachability类来帮助开发者检测网络可达性。Reachability类位于SystemConfiguration框架中,因此在项目中使用它之前,需要完成以下步骤: 1. **添加源文件**:将...

    批量卡iPhone在线工具

    标签“iPhone在线”表明这个工具是通过网络连接来实现其功能的,用户无需将所有iPhone设备物理连接到电脑。这种在线方式简化了操作步骤,同时也减少了硬件连接可能导致的问题。 从压缩包子文件的文件名称“巅峰阁...

    iOS网络高级编程 iPhone和iPad的企业应用开发

    iOS提供了Reachability框架来检查网络连接状态,开发者可以据此决定是否发起网络请求,同时,通过本地缓存和数据同步策略,可以让应用在离线时也能提供一定的功能。 总的来说,《iOS网络高级编程:iPhone和iPad的...

    iphone XCode实现了对无线网络的识别的功能

    标题中的“iphone XCode实现了对无线网络的识别的功能”指的是使用Apple的开发工具XCode,在iOS平台上开发应用程序时,利用特定的API和技术来检测设备当前的网络连接状态,包括是否可以接入互联网以及接入的方式,...

    iPhone手机信号分析

    与其他手机如ZTE F618、HTC D810等在同一无线环境中比较,iPhone的EC/NO和RSCP值较低,分别差1到3dB和3到10dBm,这意味着接收性能相对较弱,可能会导致连接稳定性下降和数据传输速率降低。 在汽车内测试环境下,...

    IPhone FTP上传的例子

    为了确保在真机上运行正常,开发者通常会在模拟器上初步测试,然后再进行设备测试,以验证网络连接、权限和性能等因素。 总结来说,"IPhone FTP上传的例子"提供了一个实用的iOS示例,帮助开发者了解如何在iPhone...

    Iphone12+PioneerX 测试流程介绍_202105(1).pptx

    3. 连接与配置:手机连接到AP的WiFi,Pioneer X检测并连接手机,配置测试计划,开始测试并观察信令事件等状态。 4. 端口调试:在手机的Carrier Settings中调整Baseband Manager的Logging Settings至Mode,确保...

Global site tag (gtag.js) - Google Analytics