先去github的网站下载最新的包,然后先看看介绍。写的比较详细了
https://github.com/robbiehanson/CocoaAsyncSocket/wiki/Intro_GCDAsyncSocket
网上很多都是老版本的帖子。官方已经推出了GCDAsyncSocket来代替以前老的AsyncSocket。
我的项目是no-ARC的,这个框架只有arc的版本。所以引入GCDAsyncSocket的.h和.m文件后,修改xcode中项目的属性。
1)targets中“build settings”中找到Compiler for c/c++/Objective-c的选项。改为Apple LLVM compiler 3.0 只要是3.0或以上就可以
2)在“build phases”中“compile sources”中找到GCDAsyncSocket.m,增加参数-fobj-arc
3)引入GCDAsyncSocket所需要的框架,CFNetwork和security这两个
使用Socket进行C/S结构编程,连接过程
服 务器端监听某个端口是否有连接请求。服务器端程序处于堵塞状态,直到客户端向服务器端发出连接请求,服务器端接受请求程序才能向下运行。一旦连接建立起 来,通过Socket可以获得输入输出流对象。借助于输入输出流对象就可以实现与客户端的通讯,最后不要忘记关闭Socket和释放一些资源(包括:关闭 输入输出流)。
客户端流程是先指定要通讯的服务器IP地址、端口和采用的传输协议(TCP或UDP),向服务器发出连接请求,服务器有应答请求之后,就会建立连接。之后与服务器端是一样的了。
在iOS中,客户端Socket编程可以使用的技术有三种:
1 使用NSStream。面向Objective-C语言的实现,由苹果提供的Foundation框架提供的API;
2 使用CFStream。面向C语言的实现,由苹果提供的Core Foundation框架提供的API;
BSD Socket。 也叫伯克利套接字(Berkeley Socket),是Unix平台下广泛使用的Socket编程。它是面向C语言实现 的,完全使用C编写,使用起来比较麻烦。它是伯克利加州大学(University of California, Berkeley)的学生开发的。
在iOS中,服务器端Socket编程可以使用技术有二种:
1 使用CFStream。面向C语言的实现,由苹果提供的Core Foundation框架提供的API;
2 BSD Socket。 也叫伯克利套接字(Berkeley Socket),是Unix平台下广泛使用的Socket编程。它是面向C语言实 现的,完全使用C编写的,使用起来比较麻烦。它是伯克利加州大学(University of California, Berkeley)的学生开发 的。