iOS应用中使用AsyncSocket库处理Socket通信的用法讲解

2020-01-15 15:07:17王冬梅

定义单列类:LGSocketServe

LGSocketServe.h

复制代码
//
//  LGSocketServe.h
//  AsyncSocketDemo
//

 

#import <Foundation/Foundation.h>
#import "AsyncSocket.h"

@interface LGSocketServe : NSObject<AsyncSocketDelegate>

+ (LGSocketServe *)sharedSocketServe;


@end


LGSocketServe.m
复制代码
//
//  LGSocketServe.m
//  AsyncSocketDemo
//

 

#import "LGSocketServe.h"

@implementation LGSocketServe


static LGSocketServe *socketServe = nil;

#pragma mark public static methods


+ (LGSocketServe *)sharedSocketServe {
    @synchronized(self) {
        if(socketServe == nil) {
            socketServe = [[[self class] alloc] init];
        }
    }
    return socketServe;
}


+(id)allocWithZone:(NSZone *)zone
{
    @synchronized(self)
    {
        if (socketServe == nil)
        {
            socketServe = [super allocWithZone:zone];
            return socketServe;
        }
    }
    return nil;
}  


@end


建立socket长连接

 

LGSocketServe.h

复制代码
@property (nonatomic, strong) AsyncSocket         *socket;       // socket

 

//  socket连接
- (void)startConnectSocket;