AsyncSocket
来源:互联网 发布:sql set case then 编辑:程序博客网 时间:2024/06/05 18:41
一.在项目引入AsyncSocket库步骤
1.下载ASyncSocket库源码
2.把ASyncSocket库源码加入项目:只需要增加RunLoop目录中的AsyncSocket.h、AsyncSocket.m、AsyncUdpSocket.h和AsyncUdpSocket.m四个文件。
3.在项目增加CFNetwork框架。在Framework目录右健,选择Add-->Existing Files... , 选择 CFNetwork.framework
4.在需要联接地方使用connectToHost联接服务器
其中initWithDelegate的参数中self是必须。这个对象指针中的各个Socket响应的函数将被ASyncSocket所调用.
asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];
NSError *err = nil;
if(![asyncSocket connectToHost:host on:port error:&err])
{
NSLog(@"Error: %@", err);
}
无论SOCKET收发都采用NSData对象. NSData主要是带一个(id)data指向的数据空间和长度 length.
5.发送数据
AsyncSocket writeData 方法来发送数据,它有如下定义
- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag;
以下是一个实例语句.
NSData* aData= [@"test data" dataUsingEncoding: NSUTF8StringEncoding];
[sock writeData:aData withTimeout:-1 tag:1];
在onSocket重载函数,有如定义采用是专门用来处理SOCKET的发送数据的:
-(void)onSocket(AsyncSocket *)sock didWriteDataWithTag:(long)tag
{
NSLog(@"thread(%),onSocket:%p didWriteDataWithTag:%d",[[NSThread currentThread] name],
sock,tag);
}
6.接收Socket数据.
在onSocket重载函数,有如定义采用是专门用来处理SOCKET的接收数据的.
-(void) onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
在中间将其转换成NSString进行显示.
NSString* aStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"===%@",aStr);
- AsyncSocket
- AsyncSocket
- AsyncSocket
- AsyncSocket
- AsyncSocket
- AsyncSocket
- AsyncSocket
- AsyncSocket
- AsyncSocket
- ASyncSocket库
- AsyncSocket详解
- IOS AsyncSocket
- AsyncSocket详解 .
- AsyncSocket详解
- AsyncSocket详解
- AsyncSocket编程
- IOS---AsyncSocket
- iOS AsyncSocket
- handler的简单使用
- memcache 分布式
- 等待队列
- php使用pdo操作数据库时出现ERROR:could not find driver的解决方法
- PasswordView
- AsyncSocket
- 石狮市
- 面经-java实习生初见
- Java enum的用法详解
- Android Studio 中如何创建一个新的工程以及库文件的创建以及引用
- 自定义的Dialog
- 5-5 堆中的路径
- man 命令
- muduo : MutexLock