IOS AsyncSocket

导入AsyncSocket.h  AsyncSocket.m  
AsyncUdpSocket.h   AsyncUdpSocket.m   以及  CFNetWork.framework

asyncSocket = [[AsyncSocketalloc] initWithDelegate:self];

NSError *err = nil;

if(![asyncSocketconnectToHost:@"www.baidu.com"onPort:80error:&err])

{

NSLog(@"Error: %@", err);

}

[asyncSocketwriteData:[@"GET /
HTTP/1.1\n\n"dataUsingEncoding:NSUTF8StringEncoding] withTimeout:3tag:1];

//建立连接

-(void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port

{

NSLog(@"onScoket:%p did connecte to
host:%@ on port:%d",sock,host,port);

[sock
readDataWithTimeout:1tag:0];

}

//读取数据

-(void)onSocket:(AsyncSocket *)sock didReadData:(NSData
*)data withTag:(long)tag

{

NSString *aStr=[[NSStringalloc] initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"aStr==%@",aStr);

NSData *aData=[@"Hi
there"dataUsingEncoding:NSUTF8StringEncoding];

[sock writeData:aData withTimeout:-1 tag:1];

[sock
readDataWithTimeout:1tag:0];

}

//是否加密

-(void)onSocketDidSecure:(AsyncSocket *)sock

{

NSLog(@"onSocket:%p did go a secure
line:YES",sock);

}

//遇到错误时关闭连接

-(void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err

{

NSLog(@"onSocket:%p will disconnect
with error:%@",sock,err);

}

//断开连接

-(void)onSocketDidDisconnect:(AsyncSocket
*)sock

{

NSLog(@"onSocketDidDisconnect:%p",sock);

}

时间: 2024-10-12 19:27:13

IOS AsyncSocket的相关文章

MAC OS/IOS Socket编程之AsyncSocket

最近在做越狱状态下的IOS后台监控软件,后台守护进程将取得的数据通过TCP发送到服务器,通过查阅资料了解到IOSsocket编程推荐使用公开的类库AsyncSocket,使用该类库极大的方便了socket的操作,下面开始介绍. 1.Socket简介 socket是应用层与TCP/IP协议簇通信的中间软件抽象层,它是一组接口.Socket描述了一个IP.端口对,它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息.所以,Socket一定包含了通信的

IOS socket编程--Asyncsocket

iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它来简化CFNetwork的调用,它提供了异步操作 主要特性有: 队列的非阻塞的读和写,而且可选超时.你可以调用它读取和写入,它会当完成后告知你 自动的socket接收.如果你调用它接收连接,它将为每个连接启动新的实例,当然,也可以立即关闭这些连接 委托(delegate)支持.错误.连接.接收.完整的读取.完整的写入.进度以及断开连接,都可以通过委托模式调用 基于run loop的,

关于这几天使用IOS的AsyncSocket完成无限后台的过程

这几天用了下ASyncSocket完成前后台即时通讯,当时有想过用消息推送的技术实现的,可是后来想到消息推送的不可靠性还是算了.于是使用了tcp/ip实现后台主动发送数据给前台的功能. 最开始设计后台的时候,我有考虑到数据量比较大的问题,所以数据大的时候我会使用分包和组包的功能去实现.TCP/IP在传输数据的时候,一般不会大于1500字节,所以我每512字节分了 一个包.然后当一次性数据包接收太多的时候,就出现了粘包的问题.因为我在数据传输的时候使用的是json,每一个分包都是由{}括起来的,所

iOS学习之Socket使用简明教程- AsyncSocket

如果需要在项目中像QQ微信一样做到即时通讯,必须使用socket通讯,本人也是刚学习,分享一下,有什么不对的地方希望大家指正 ios原生的socket用起来不是很直观,所以我用的是AsyncSocket这个第三方库,对socket的封装比较好,只是好像没有带外传输(out-of-band) 如果你的服务器需要发送带外数据,可能得想下别的办法 环境 下载AsyncSockethttps://github.com/robbiehanson/CocoaAsyncSocket类库,将RunLoop文件夹

iOS开发之AsyncSocket使用教程

AsyncSocketDemo下载地址: AsyncSocketDemo 用socket可以实现像QQ那样发送即时消息的功能.客户端和服务端需要建立长连接,在长连接的情况下,发送消息.客户端可以发送心跳包来检测长连接. 在iOS开发中使用socket,一般都是用第三方库AsyncSocket,不得不承认这个库确实很强大.下载地址CocoaAsyncSocket . 使用AsyncSocket的时候可以做一层封装,根据需求提供几个接口出来.比如:连接.断开连接.发送消息等等.还有接受消息,接受到的

iOS开发之即时通讯之Socket(AsyncSocket)

在实际开发中,主要的任务是开发客户端.所以下面主要详解客户端的整个连接建立过程,以及在说明时候回调哪些函数. 常用方法: 1.建立连接 - (int)connectServer:(NSString *)hostIP port:(int)hostPort 2.连接成功后,会回调的函数 - (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port 3.发送数据 - (void)writ

IOS使用Asyncsocket进行socket编程

iphone的标准推荐CFNetwork C库编程.但是编程比较烦躁.在其它OS往往用类来封装的对Socket函数的处理.比如MFC的CAsysncSocket.在iphone也有类似于开源项目.cocoa AsyncSocket库, 官方网站:http://code.google.com/p/cocoaasyncsocket/ 它用来简化CFnetwork的调用. 一.在项目引入ASyncSocket库 1.下载ASyncSocket库源码 2.把ASyncSocket库源码加入项目:只需要增

iOS Socket第三方开源类库 ----AsyncSocket

假如你也是一个java程序员,而你又不是很懂Socket. 下面我的这篇文章也许能帮助你一些. http://xiva.iteye.com/blog/993336 首先我们写好上面文章中的server端. 下面我们可以访问一下下面的地址: http://code.google.com/p/cocoaasyncsocket/ 这是一个开源框架.呵,不知道拿到自己程序中使用是否涉及侵权. 但是这句话“The CocoaAsyncSocket project is in the public doma

IOS总结(学习过程中整理的笔记)

MVC模式:(model+view+controller):是一种帮你把代码功能和显示划分出来的设计模式: model:较为底层的数据引擎,负责管理实体中所继承的数据: view:和用户交互界面: controller:连接二者的桥梁: cocoa frameworks 有两个框架: foundation foundation  是cocoa中最基本的一些类:再mac应用程序中负责对象管理,内存管理,容器等相关数据: uikit: uikit:为程序提供可视化的底层构架,包括窗口,视图,控件类和