Files
ifish/Ifish/Utinitys/SocketSingleton/Socketsingleton.h
T
2019-03-12 09:26:46 +08:00

101 lines
2.4 KiB
Objective-C

//
// Socketsingleton.h
// Ifish
//
// Created by imac on 15/10/17.
// Copyright © 2015年 imac. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "AsyncSocket.h"
#import "manulswitchMSModel.h"
#import "XuToLightModel.h"
#import "JiaReWenDuModel.h"
//#define DEFINE_SHARED_INSTANCE_USING_BLOCK(block) \
//static dispatch_once_t onceToken = 0; \
//__strong static id sharedInstance = nil; \
//dispatch_once(&onceToken, ^{ \
//sharedInstance = block(); \
//}); \
//return sharedInstance; \
//enum{
// SocketOfflineByServer,// 服务器掉线,默认为0
// SocketOfflineByUser, // 用户主动cut
//};
//typedef NS_ENUM(NSInteger,soketofflineStyle){
// SocketOfflineByServer,// 服务器掉线,默认为0
// SocketOfflineByUser // 用户主动cut
//};
//监听soket
@protocol IfishCommuniteDelegate <NSObject>
//设备登陆成功后返回数据
-(void)socketDidGetBackmsgData:(NSData *)data onsoket:(AsyncSocket *)sock;
//已断开连接
- (void)ifishSocketDidDisconnect:(AsyncSocket *)sock;
//已经连接成功
-(void)ifishSocket:(AsyncSocket *)sock ifishSocketdidConnectToHost:(NSString *)host port:(UInt16)port;
//发送数据完成
- (void)ifishSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag;
//错误断开
-(void)ifishSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err;
// 将要连接
- (BOOL)ifishSocketWillConnect:(AsyncSocket *)sock;
//新的soket
- (void)ifishSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket;
//设备登陆成功
-(void)ifishDeviceLogInSuccees;
//设备登陆失败
-(void)ifishDeviceLogInFail;
@end
@interface Socketsingleton : NSObject
@property (nonatomic, strong) AsyncSocket *clientSocket; // socket
@property (nonatomic, copy ) NSString *socketHost; // socket的Host
@property (nonatomic, assign) UInt16 socketPort; // socket的prot
@property (nonatomic, retain) NSTimer *connectTimer; // 计时器 //心跳
@property (nonatomic, weak) id<IfishCommuniteDelegate> communiteDelegate;
+ (Socketsingleton *)sharedInstance;
-(void)cutOffSocket; // 断开socket连接
-(void)socketConnectHost;
@property(nonatomic,copy) NSString *macAddress;
//将通信指令写入soket
-(void)soketWriteData:(NSData *)data;
-(void)setSoketLightDataWith:(manulswitchMSModel *)model;
-(void)setXuToSoketLightDataWith:( XuToLightModel *)model;
-(void)setXuToJiaReBangDataWith:( JiaReWenDuModel *)model;
@end