添加IFishHotpotUDPHelper

This commit is contained in:
xuemh
2018-08-06 17:58:03 +08:00
parent 65446cebfc
commit fc4062fbe8
4 changed files with 157 additions and 30 deletions
@@ -10,17 +10,15 @@
#import "ConnectHotspotTipViewController.h"
#import "dataContorl.h"
#import<SystemConfiguration/CaptiveNetwork.h>
#import "GCDAsyncUdpSocket.h"
#import "IFishHotpotUDPHelper.h"
@interface ConnectHotpotViewController ()<UITextFieldDelegate, GCDAsyncUdpSocketDelegate>
@interface ConnectHotpotViewController ()<UITextFieldDelegate, IFishHotpotUDPHelperDelegate>
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UITextField *nameLbl;
@property (strong, nonatomic) IBOutletCollection(UIImageView) NSArray *dashView;
@property (weak, nonatomic) IBOutlet UITextField *pwdTf;
@property (weak, nonatomic) IBOutlet UIView *containerView;
@property (nonatomic, strong) GCDAsyncUdpSocket *socket;
@end
@implementation ConnectHotpotViewController
@@ -124,35 +122,14 @@
#pragma mark - UDP related
- (void)sendToDeviceWithSSIDName:(NSString *)name andSSIDPWD:(NSString *)pwd {
self.socket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
NSError *error;
[self.socket bindToPort:9090 error:&error];
[self.socket enableBroadcast:YES error:&error];
if (error) {
[self.view makeToast:error.localizedDescription];
} else {
[self.socket beginReceiving:&error];
}
[self.socket sendData:[self updmessageData:name ssidPwd:pwd] toHost:@"192.168.4.1" port:333 withTimeout:-1 tag:0];
[IFishHotpotUDPHelper sharedInstance].delegate = self;
[[IFishHotpotUDPHelper sharedInstance] broadCaseUDPWith:name pwd:pwd];
}
- (NSData *)updmessageData:(NSString *)ssidName ssidPwd:(NSString *)ssidPwd {
return [dataContorl stringToHexData:[NSString stringWithFormat:@"%@\0%@\0", ssidPwd, ssidPwd]];
}
#pragma mark - IFishHotpotUDPHelperDelegate
#pragma mark - GCDAsyncUdpSocketDelegate
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didSendDataWithTag:(long)tag {
[self.view makeToast:@"UDP指令发送成功"];
}
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error {
[self.view makeToast:[NSString stringWithFormat:@"UDP指令发送失败:%@", [error localizedDescription]]];
}
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(id)filterContext {
[self.view makeToast:[NSString stringWithFormat:@"接收到设备返回UDP数据:%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]]];
- (void)udpHelperMessage:(NSString *)msg {
[self.view makeToast:msg];
}
@end