`
zjjzmw1
  • 浏览: 1366577 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

AsyncUdpSocket的简单应用和 fetchSSIDInfo 获取设备sid

    博客分类:
  • iOS
阅读更多

- (id)fetchSSIDInfo

{

    NSArray *ifs = (__bridge id)CNCopySupportedInterfaces();

    NSLog(@"%s: Supported interfaces: %@", __func__, ifs);

    id info = nil;

    for (NSString *ifnam in ifs) {

        info = (__bridge id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);

        if (info && [info count]) {

            break;

        }

    }

    return info ;

}

 

 

 

 

 

 

用socket添加 两个文件 AsyncUdpSocket.h  和 AsyncUdpSocket.m 

SystemControm.framework    CFNetwork.framework

 

#import "ViewController.h"

 

#import <SystemConfiguration/CaptiveNetwork.h>

 

@interfaceViewController ()

 

@property(nonatomic,strong) AsyncUdpSocket *socket;

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad

{

    [superviewDidLoad];

    self.socket = [[AsyncUdpSocketalloc] initWithDelegate:self];

    

    NSError *error = nil;

    [self.socket bindToPort:3000 error:&error];

    [self.socketenableBroadcast:YESerror:&error];

    [self.socketjoinMulticastGroup:@"239.255.255.250"error:&error];

    

    if (error) {

        NSLog(@"error: %@",error);

    }

    

    [self.socketreceiveWithTimeout:-1tag:1];

    

    NSLog(@"start udp server");

    

    

    NSDictionary *ifs = [self fetchSSIDInfo]; //获取sid信息。

    

    NSString *ssid = [[ifs objectForKey:@"SSID"] lowercaseString];

    NSLog(@"ssid%@",ssid);

    _wifiName.text = [NSString stringWithFormat:@"Wifi name:\n%@",ssid];

}

 

- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port{

    NSString *receiveData = [[NSStringalloc] initWithData:data encoding:NSUTF8StringEncoding];

    NSLog(@"received data: %@",receiveData);

    

    _data.text = [NSString stringWithFormat:@"Received data:\n%@",receiveData];

    

    [self.socket receiveWithTimeout:-1 tag:1];

    returnYES;

}

 

 

- (id)fetchSSIDInfo

{

    NSArray *ifs = (__bridge id)CNCopySupportedInterfaces();

    NSLog(@"%s: Supported interfaces: %@", __func__, ifs);

    id info = nil;

    for (NSString *ifnam in ifs) {

        info = (__bridge id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);

        if (info && [info count]) {

            break;

        }

    }

    return info ;

}

 

1
2
分享到:
评论

相关推荐

    SID自动获取器.exe

    SID自动获取器.exe 不用解包工具,也可以知道SID

    sid查看器,用于各系统

    SID查看器工具的使用非常简单,它允许用户快速获取以下信息: 1. 当前登录用户的SID。 2. 系统上的所有用户账户及其SID。 3. 组账户及其成员的SID。 4. 其他系统相关的安全标识,如内置账户和特殊权限。 该工具通常...

    SAS 9.4 SID 服务器通用版 续订更新SAS SID 2022 更新2022年6月sas sid 2022 server

    SAS (Statistical Analysis System) 是一款广泛应用的统计分析软件,尤其在数据分析、商业智能和预测建模领域占据重要地位。SAS 9.4 是该软件的一个版本,提供了多种功能增强和性能优化。SID(Site Identifier)是 ...

    修改oracle_sid和db_name名字

    修改 Oracle_sid 和 db_name 名字 在 Oracle 数据库中,sid 和 db_name 是两个非常重要的参数,分别表示数据库实例名和数据库名字。修改这两个参数需要谨慎,因为它们对数据库的运行和性能有着直接的影响。在本文中...

    sid2user&user2sid

    在IT安全领域,尤其是系统身份验证和权限管理中,了解如何操作和理解安全标识符(Security Identifier,简称SID)是至关重要的。SID是Windows操作系统中唯一标识用户、组和计算机账户的唯一数字序列。在标题提到的...

    根据oracle数据库sid及serial#查找操作系统sid号

    以下是一个具体的SQL查询示例,用于根据指定的SID和序列号获取与之相关联的操作系统PID: ```sql SELECT a.username, b.spid AS OS_PID, -- 操作系统PID a.machine, a.program, a.sid, a.serial#, a.status, ...

    通过注册表查看SID

    #### SID的应用场景 - **权限管理**:在设置文件夹或文件权限时,通常需要使用SID而非用户名。这是因为即使更改了用户名,其SID仍保持不变,从而确保了权限设置的一致性。 - **系统管理**:例如,在进行故障排查时...

    菜单方式更新SAS 9.4 SID(内含最新SID有效期至202105).doc

    在更新SAS 9.4 SID的过程中,需要注意SID的格式和内容,SID的格式通常为 [_SID_] Version=9.4 Revision=9.4 Platform_long=Microsoft Windows Workstation for x64 Platform_short=wx6 Order=9C957W License_prod=...

    系统SID修改工具

    SID,全称为Security Identifier,在Windows操作系统中,每个用户账户、服务、组以及其他安全主体都有一个独特的SID,用于识别和区分不同的安全实体。在某些特定场景下,例如系统克隆或者多台计算机需要共享同一套...

    修改windows系统SID工具

    5. **重启验证**:修改完成后,工具可能需要重启计算机以应用更改,并在启动后验证新的SID是否成功生效。 在标签中,“SID”和“GHOST”是两个关键词,前者代表安全标识符,后者代表克隆系统的方法。使用这个工具,...

    SID Change 1.0 (支持所有windows系统)

    SID Change 1.0 是一款专门用于修改操作系统安全标识符(SID)的工具,它具有广泛的支持性,能够应用于各种Windows操作系统,包括Windows 7、Windows 10以及服务器版本如Windows Server 2008 R2、Windows Server ...

    得到用户的SID号!!!

    得到用户SID号得到用户SID号得到用户SID号得到用户SID号得到用户SID号得到用户SID号得到用户SID号得到用户SID号得到用户SID号得到用户SID号

    WINDOWS的SID详解

    安全标识符(SID,Security Identifiers)是Windows操作系统中用于唯一标识用户、组和计算机账户的关键元素。SID是由系统在首次创建账户时分配的,确保每个账户都有其独特的标识。在Windows 2000及后续版本中,系统...

    AppPackageInfo:从应用程序包来源收集信息,例如程序包系列名称和程序包SID

    以下是一个简单的示例,展示如何获取当前运行的应用程序的PFN和SID: ```csharp using Windows.ApplicationModel; // 获取当前运行的包 var currentPackage = Package.Current; // 获取程序包家族名称 string ...

    易语言-邮箱登陆源码 三种登陆方式获取cookies和SID

    在邮箱登录场景中,用户会被重定向到邮箱服务提供商的授权页面,授权后返回一个访问令牌,该令牌可以用来获取cookies和SID。 3. **二维码登录**:在这个案例中,可能涉及的是TX(腾讯)的二维码登录方式。用户扫描...

    计算机SID生成器,可以随机生成sid

    计算机安全标识符(Security Identifier,简称SID)是Windows操作系统中用于唯一标识用户、组和计算机账户的字符串。每个账户在创建时都会被分配一个独一无二的SID,这些SID在网络安全中起到至关重要的作用,确保了...

Global site tag (gtag.js) - Google Analytics