我如何使用CocoaAsyncSocket读取数据?

我在我的appDelegate didFinishLaunchingWithOptions方法中创build了一个TCP套接字连接 。 这是很容易的一部分,我已经成功连接到我的服务器。 我很难从我的视图中读取服务器的数据。 我一直在浏览如何适当(一步一步)使用CocoaAsyncSocket读取数据的教程 ,但我没有遇到任何有用的东西。

这是我的代码从我的appDelegate:

 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { socket = [[AsyncSocket alloc] initWithDelegate:self]; [self connect]; self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. self.viewController = [[[tekMatrixViewController alloc] initWithNibName:@"tekMatrixViewController" bundle:nil] autorelease]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; } 

这里是我的连接方法,在appDelegate文件的底部:

 - (void)connect { [socket connectToHost:@"9.5.3.3" onPort:11005 error:nil]; } 

这是很容易的部分。 我现在需要从服务器读取数据。 我知道需要创build一些types的NSDataNSMutableData对象来获取从服务器读取的数据的值。 我只是很不成功地find任何指导我正确的方向的教程或文档。 有几个不同的阅读function,一些有不同的参数,等等。如果任何人都可以指向我深入这个资源*(我是一个新手,毕竟= P)*我真的很感激它 – 或者如果有人知道一个简单的方法来实现这个目标,并不介意在这里提供示例代码:D

这是我正在使用的库: CocoaAsyncSocket 。 我正在使用库AsyncSocket.hAsyncSocket.m

我已经坚持了几个小时,所以任何帮助将不胜感激。

谢谢!

这应该工作:

 - (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag { NSData *strData = [data subdataWithRange:NSMakeRange(0, [data length])]; NSString *msg = [[NSString alloc] initWithData:strData encoding:NSUTF8StringEncoding]; if(msg) { NSLog(@"RX:%@",msg); } } 

你也应该实现一些其他的委托方法,例如:

 - (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err { NSLog(@"error - disconnecting"); //you'd probably want to start reconnecting procedure here... } - (void)onSocketDidDisconnect:(AsyncSocket *)sock { NSLog(@"disconnected"); } - (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port { NSLog(@"connected"); } 

编辑:如果内存服务我的权利有一些文件,也有一些可用的例子与图书馆。