亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS使用GCDSocketManager實現長連接的方法

2020-07-26 02:34:42
字體:
來源:轉載
供稿:網友

.h文件

#import <Foundation/Foundation.h>#import "GCDAsyncSocket.h"@interface GCDSocketManager : NSObject@property(nonatomic,strong) GCDAsyncSocket *socket;//單例+ (instancetype)sharedSocketManager;//連接- (void)connectToServer;//斷開- (void)cutOffSocket;@end

.m文件

#import "GCDSocketManager.h"#define SocketHost @"地址"#define SocketPort 端口@interface GCDSocketManager()<GCDAsyncSocketDelegate>//握手次數@property(nonatomic,assign) NSInteger pushCount;//斷開重連定時器@property(nonatomic,strong) NSTimer *timer;//重連次數@property(nonatomic,assign) NSInteger reconnectCount;@end@implementation GCDSocketManager//全局訪問點+ (instancetype)sharedSocketManager {  static GCDSocketManager *_instance = nil;  static dispatch_once_t onceToken;  dispatch_once(&onceToken, ^{    _instance = [[self alloc] init];  });  return _instance;}//可以在這里做一些初始化操作- (instancetype)init{  self = [super init];  if (self) {      }  return self;}#pragma mark 請求連接//連接- (void)connectToServer {  self.pushCount = 0;    self.socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];    NSError *error = nil;  [self.socket connectToHost:SocketHost onPort:SocketPort error:&error];    if (error) {    DLog(@"SocketConnectError:%@",error);  }}#pragma mark 連接成功//連接成功的回調- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port {  DLog(@"socket連接成功");  [self sendDataToServer];}//連接成功后向服務器發送數據- (void)sendDataToServer {  //發送數據代碼省略...    //發送  [self.socket writeData:jsonData withTimeout:-1 tag:1];    //讀取數據  [self.socket readDataWithTimeout:-1 tag:200];}//連接成功向服務器發送數據后,服務器會有響應- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {    [self.socket readDataWithTimeout:-1 tag:200];    //服務器推送次數  self.pushCount++;    //在這里進行校驗操作,情況分為成功和失敗兩種,成功的操作一般都是拉取數據}#pragma mark 連接失敗//連接失敗的回調- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err {  DLog(@"Socket連接失敗");    self.pushCount = 0;    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];    NSString *currentStatu = [userDefaults valueForKey:@"Statu"];    //程序在前臺才進行重連  if ([currentStatu isEqualToString:@"foreground"]) {        //重連次數    self.reconnectCount++;        //如果連接失敗 累加1秒重新連接 減少服務器壓力    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 * self.reconnectCount target:self selector:@selector(reconnectServer) userInfo:nil repeats:NO];        self.timer = timer;  }}//如果連接失敗,5秒后重新連接- (void)reconnectServer {    self.pushCount = 0;    self.reconnectCount = 0;    //連接失敗重新連接  NSError *error = nil;  [self.socket connectToHost:SocketHost onPort:SocketPort error:&error];  if (error) {    DLog(@"SocektConnectError:%@",error);  }}#pragma mark 斷開連接//切斷連接- (void)cutOffSocket {  DLog(@"socket斷開連接");    self.pushCount = 0;    self.reconnectCount = 0;    [self.timer invalidate];  self.timer = nil;    [self.socket disconnect];}@end

以上這篇iOS使用GCDSocketManager實現長連接的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品日韩视频在线观看| 欧美激情亚洲另类| 久久精品亚洲精品| 法国裸体一区二区| 亚洲国产精品久久久久秋霞蜜臀| 九九热精品在线| 亚洲高清福利视频| 欧美日韩成人在线观看| 欧美黄色片免费观看| 午夜精品视频在线| 欧美日韩午夜视频在线观看| 国产丝袜精品第一页| 欧美在线观看网址综合| 成人免费看片视频| 久久久久久一区二区三区| 日韩在线资源网| 日韩免费高清在线观看| 欧美性xxxx18| 成人在线视频网| 欧美激情视频播放| 亚洲欧洲在线观看| 亚洲人成人99网站| 日本91av在线播放| 91国产高清在线| 亚洲图片欧洲图片av| 日韩电影中文 亚洲精品乱码| 久久久久久久久久亚洲| 欧美专区在线视频| 亚洲免费电影一区| 日本精品久久久久影院| 久久亚洲国产精品| 欧美最顶级丰满的aⅴ艳星| 久久成人精品一区二区三区| 国产视频久久久久久久| 亚洲自拍高清视频网站| 2019中文字幕在线| 日韩中文字幕国产精品| 欧美国产亚洲精品久久久8v| 在线一区二区日韩| 国产精品免费小视频| 久99九色视频在线观看| 欧美大片在线看| 欧美成人性生活| 久久国产精彩视频| 国产精品久久久久久av| 国产精品成人国产乱一区| 91在线无精精品一区二区| 成人情趣片在线观看免费| 欧美丝袜第一区| 97视频网站入口| 深夜福利日韩在线看| 欧美在线视频网| 97久久精品视频| 欧美激情欧美狂野欧美精品| 亚洲网站视频福利| 日韩av在线网页| 久久天天躁夜夜躁狠狠躁2022| 欧美夫妻性视频| 精品免费在线观看| 亚洲欧美国产高清va在线播| 欧美精品中文字幕一区| 日韩成人激情在线| 久久久久久97| 精品国产欧美一区二区三区成人| 国产精品久在线观看| 成人久久久久久| 亚洲精品国产拍免费91在线| 久久五月情影视| 日韩一区在线视频| 亚洲精品影视在线观看| 2019中文字幕在线观看| 亚洲三级av在线| 日韩精品免费在线视频观看| 久久久久久久电影一区| 欧美激情一级精品国产| zzijzzij亚洲日本成熟少妇| 欧美日韩亚洲高清| 日韩免费观看av| 日韩av影视在线| 亚洲国产天堂久久综合网| 91国产精品电影| 中文字幕日韩精品在线观看| 国产一区二区三区直播精品电影| 亚洲精品成人久久久| 91精品在线国产| 国产精品三级久久久久久电影| 日本免费一区二区三区视频观看| 成人网在线观看| 欧美激情高清视频| 国产精品亚洲综合天堂夜夜| 欧美一区二区三区图| 亚洲精品在线91| 色综合视频一区中文字幕| 国产亚洲精品久久久久动| 亚洲午夜久久久久久久| 亚洲自拍偷拍在线| 7777精品久久久久久| 欧美日韩一区二区三区在线免费观看| 亚洲日本aⅴ片在线观看香蕉| 国产精品免费观看在线| 日韩中文字幕免费视频| 久久久伊人欧美| 日韩精品视频观看| 北条麻妃一区二区在线观看| 久久91精品国产91久久跳| 欧美一区二粉嫩精品国产一线天| 久久久久久国产免费| 久久精品视频99| 亚洲欧美日韩在线高清直播| 欧美电影免费观看电视剧大全| 在线视频欧美日韩| 亚洲va久久久噜噜噜| 91人成网站www| 国产精品电影一区| 欧美日韩在线影院| 亚洲精品网站在线播放gif| 欧美日韩国产二区| 久久91精品国产91久久久| 精品久久久av| 欧美性猛交xxxx富婆| 亚洲成人网久久久| 欧洲成人免费aa| 日韩免费在线视频| 免费91麻豆精品国产自产在线观看| 中日韩美女免费视频网站在线观看| 国产裸体写真av一区二区| 亚洲四色影视在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲综合中文字幕在线观看| 91久久久亚洲精品| 国产精品久久久久久久久久尿| 欧美黑人巨大xxx极品| 这里只有视频精品| 8x海外华人永久免费日韩内陆视频| 亚洲国产日韩欧美在线动漫| 亚洲一级一级97网| 日韩成人中文字幕在线观看| 国内精品久久久久久中文字幕| 欧美日韩另类字幕中文| 91成人在线观看国产| 成人av在线网址| 日韩精品中文字幕有码专区| 热久久视久久精品18亚洲精品| 亚洲视频在线观看视频| 精品久久久中文| 91精品国产91久久久久久吃药| 久久亚洲国产精品| 九九久久综合网站| 国产精品电影久久久久电影网| 国产福利视频一区二区| 秋霞成人午夜鲁丝一区二区三区| 亚洲欧美在线一区二区| 久久综合国产精品台湾中文娱乐网| 92福利视频午夜1000合集在线观看| 伊人久久精品视频| 欧美激情区在线播放| 91亚洲精华国产精华| 国产精品美腿一区在线看| 国产精品成熟老女人| 欧美高清在线视频观看不卡| 日韩国产精品视频| 亚洲人午夜精品| 国产精品嫩草视频| 91高清在线免费观看|