码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发 socket编程

时间:2015-07-15 13:11:08      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

二、AsyncSocket介绍
  1)iOS中Socket编程的方式有哪些?
  -BSD Socket
  BSD Socket 是UNIX系统中通用的网络接口,它不仅支持各种不同的网络类型,而且也是一种内部进程之间的通信机制。而iOS系统其实本质就是UNIX,所以可以用,但是比较复杂。
  -CFSocket
  CFSocket是苹果提供给我们的使用Socket的方式,但是用起来还是会不太顺手。当然想使用的话,可以细细研究一下。
  -AsyncSocket
  这次博客的主讲内容,也是我们在开发项目中经常会用到的。
  2)为什么选择AsyncSocket?
  iphone的CFNetwork编程比较艰深。使用AsyncSocket开源库来开发相对较简单,帮助我们封装了很多东西。
  三、AsyncSocket详解
  1??说明
  在我们开发当中,我们主要的任务是开发客户端。所以详解里主要将客户端的整个连接建立过程,以及在说明时候回调哪些函数。在后面的示例代码中,也会给出服务器端的简单开发。
  2??过程详解
  1.建立连接
  - (int)connectServer:(NSString *)hostIP port:(int)hostPort
  2.连接成功后,会回调的函数
  - (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port
  3.发送数据
  - (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag;
  4.接受数据
  -(void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
  5.断开连接
  - (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err
  - (void)onSocketDidDisconnect:(AsyncSocket *)sock
  主要就是上述的几个方法,只是说在真正开发当中,很可能我们在收发数据的时候,我们收发的数据并不仅仅是一个字符串包装成NSData即可,我们很可能会发送结构体等类型,这个时候我们就需要和服务器端的人员协作来开发:定义怎样的结构体。

iOS开发 socket编程

标签:

原文地址:http://www.cnblogs.com/Qwet/p/4647724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!