我创建了一个单例类,它的工作是创建一个 tcp 套接字连接并在应用程序运行时使其无限打开。我相信我的单例类看起来应该是这样(在其他 StackOverflow 问题的帮助下让我到达那里),但我的问题是我不知道何时或如何调用我的类对象。我对 iOS 开发还是很陌生,所以这对我来说很陌生。
- 我的应用有多个视图
- 我想使用我的单例类来创建一个 tcp 套接字连接并始终保持连接打开
- 我不知道在哪里调用/调用我的单例类对象
- 我不知道如何调用/调用我的单例类对象
- 我正在使用 SmallSockets 库
这是我的类文件:
套接字连接.h
#import <Foundation/Foundation.h>
@interface SocketConnection : NSObject
{
}
+ (SocketConnection *)getInstance;
@end
套接字连接.m
#import "SocketConnection.h"
#import "imports.h"
static SocketConnection *sharedInstance = nil;
@implementation SocketConnection
- (id)init
{
self = [super init];
if (self)
{
while(1)
{
Socket *socket;
int port = 11005;
NSString *host = @"199.5.83.63";
socket = [Socket socket];
@try
{
NSMutableData *data;
[socket connectToHostName:host port:port];
[socket readData:data];
// [socket writeString:@"Hello World!"];
// Connection was successful //
[socket retain]; // Must retain if want to use out of this action block.
}
@catch (NSException* exception)
{
NSString *errMsg = [NSString stringWithFormat:@"%@",[exception reason]];
NSLog(errMsg);
socket = nil;
}
}
}
return self;
}
+ (SocketConnection *)getInstance
{
@synchronized(self)
{
if (sharedInstance == nil)
{
sharedInstance = [[SocketConnection alloc] init];
}
}
return sharedInstance;
}
@end