当前位置: 首页 > news >正文

seo建站优化wordpress 发文章

seo建站优化,wordpress 发文章,金融营销的网站设计案例,医疗做网站WiFi通信是指手机通过WiFi与外部设备建立连接#xff0c;并与外部设备进行交互、通信。手机与外部设备的WiFi通信通常是使用Socket来实现的#xff0c;在这里先介绍一个第三方Socket库#xff08;CocoaAsyncSocket#xff09;来实现WiFi通信。 CocoaAsyncSocket支持TCP和U…WiFi通信是指手机通过WiFi与外部设备建立连接并与外部设备进行交互、通信。手机与外部设备的WiFi通信通常是使用Socket来实现的在这里先介绍一个第三方Socket库CocoaAsyncSocket来实现WiFi通信。 CocoaAsyncSocket支持TCP和UDP其中 AsyncSocket类是支持TCP的 AsyncUdpSocket类是支持UDP的。 本文是建立在硬件通过UDP广播包广播自身信息手机与硬件之间通过TCP连接传输数据。 WiFi连接的建立 首先通过手动连接手机WiFi至外部设备此时可以获取到外部WiFi的一些信息 #import UIKit/UIKit.hinterface ViewController : UIViewControllertypedef void (^udpSocketBlock)(NSDictionary* dic,NSError* err);// block用于硬件返回信息的回调 property (nonatomic,copy) udpSocketBlock udpSocketBlock; - (void)sendUdpBoardcast:(udpSocketBlock)block; end #import ViewController.h #import AsyncSocket.h #import AsyncUdpSocket.h interface ViewController ()AsyncSocketDelegate,AsyncUdpSocketDelegate property (nonatomic,strong) AsyncUdpSocket *udpSocket; property (nonatomic,strong) AsyncSocket *socket; endimplementation ViewController- (void)viewDidLoad {[super viewDidLoad]; }- (void)sendUdpBoardcast:(udpSocketBlock)block{self.udpSocketBlock block;if(!_udpSocket)_udpSocket [[AsyncUdpSocket alloc] initWithDelegate:self];NSData *data [NSData data];// 此处data是根据硬件要求传参数UInt16 port 34343;// 此处具体指需询问硬件工程师[self.udpSocket enableBroadcast:YES error:NULL];[_udpSocket sendData:data toHost:255.255.255.255 port:port withTimeout:-1 tag:0];// 因为不知道具体的ip地址所以host采用受限广播地址 } - (BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port{ // data 接收到的外部设备返回的数据id result [self unpackageMessage:data]; // 对数据进行处理此处调用的 - (id)unpackageMessage:(NSData *)data ;是根据与硬件方面协商的数据格式进行的数据处理if ([[result valueForJSONKey:typeid] isEqualToString:xxxx]) {self.udpSocketBlock([result valueForJSONKey:data],nil);} // 判断的到的数据是否为我们需要的数据return YES; // 发现设备后则关闭发现通道return NO; // 不关闭发现通道一直处于发现状态 } #pragma mark - udpSocket -(void)onUdpSocket:(AsyncUdpSocket *)sock didSendDataWithTag:(long)tag{} 通过调用该方法可以得到外部设备返还的WiFi信息 [self sendUdpBoardcast:^(NSDictionary *dic, NSError *err) {// dic为硬件返回的参数 }]; 获取硬件参数之后需要确认手机是否已于硬件连接直接调用方法 - (BOOL)isConnected; 若未连接则需建立手机和硬件之间的socket连接 - (BOOL)connectToHost:(NSString*)hostname onPort:(UInt16)port error:(NSError **)errPtr; // hostname、port均为硬件返回的 数据的写入和读取 CocoaAsyncSocket提供了写入数据和读取数据的方法 // 数据的写入 - (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; // 数据的读取 - (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag; 数据写入具体格式需要根据硬件要求来决定这里提供几种常用的数据类型转换方法以供参考 十六进制字符串转NSData -(NSData *)converHexStrToData:(NSString *)hexString {NSMutableData *data [[NSMutableData alloc] init];unsigned char whole_byte;char byte_chars[3] {\0,\0,\0};if (hexString.length%2) {//防止丢失半个bytehexString [0 stringByAppendingString:hexString];}int i;for (i 0; i [hexString length]/2; i) {byte_chars[0] [hexString characterAtIndex:i * 2];byte_chars[1] [hexString characterAtIndex:i * 2 1];whole_byte strtol(byte_chars, NULL, 16);[data appendBytes:whole_byte length:1];}return data; } NSData转十六进制字符串 -(NSString *) converDataToHexString:(NSData *)data {if (data nil) {return nil;}NSMutableString* hexString [NSMutableString string];const unsigned char *p [data bytes];for (int i0; i [data length]; i) {[hexString appendFormat:%02x, *p];}return hexString; } 十六进制字符串转普通字符串 -(NSString *)stringFromHexString:(NSString *)hexString {char *myBuffer (char *)malloc((int)[hexString length] / 2 1);bzero(myBuffer, [hexString length] / 2 1);for (int i 0; i [hexString length] - 1; i 2) {unsigned int anInt;NSString * hexCharStr [hexString substringWithRange:NSMakeRange(i, 2)];NSScanner * scanner [[NSScanner alloc] initWithString:hexCharStr];[scanner scanHexInt:anInt];myBuffer[i / 2] (char)anInt;}NSString *unicodeString [NSString stringWithCString:myBuffer encoding:4];return unicodeString; }
http://www.yutouwan.com/news/55678/

相关文章:

  • 内蒙古网站建设流程检察机关门户网站建设
  • 网站建设面试题装饰工程有限公司
  • 网站建设套餐方案电商网站开发 知乎
  • 泉州英文网站建设网站建设玖首选金手指
  • 网站备案有什么用广州开发区医院
  • 加油站建设专业网站设计站
  • 做外贸soho网站的公司一般营销方式三大步骤
  • 哈尔滨松北区建设局网站wordpress换行命令
  • 做视频网站注意什么软件网站的优化承诺
  • 绍兴以往网站招工做打开qq邮箱进入wordpress
  • 一个网站为什么做的不好看精品资料网官方网站
  • 网站设计制作厂家有哪些千锋教育培训多少钱
  • 学什么可以做推广网站网络营销产品策略案例
  • wordpress注册表单插件网站内容优化怎么去优化呢
  • 秦皇岛网站建公司做幼儿英语的教案网站
  • html5集团网站网站域名icp 备案价格
  • 兴安网站建设上海传媒公司总裁李闪闪
  • 福州做网站价格wordpress 不显示账号名
  • 手机网站申请安阳实力网站建设首选
  • 做品牌网站哪个好用网站知名度推广
  • 网站恢复江苏镇江市
  • 搜狐做网站微信小程序界面设计模板
  • 黄岛区做网站的网站扩展虚拟空间
  • 网站建设推推蛙深圳威豹押运公司官网
  • 金融类网站建设做电影网站哪个服务器好
  • 开发者选项seo全称是什么意思
  • 华夏名网网站建设wordpress supercache
  • 个人网站的名称建筑人才培训网
  • 重庆渝中区企业网站建设联系电话屏蔽网站推广
  • 两个网站如何做端口映射wordpress 发布文章功能修改