美文网首页
Socket编程

Socket编程

作者: 会游泳de鱼 | 来源:发表于2017-04-07 00:12 被阅读13次

    一、Socket

    1.1 Socket简介

    Socket就是为网络服务提供的一种机制。网络通信其实就是Socket间的通信,通信的两端都是Socket,数据在两个Socket间通过IO传输。

    在Web服务大行其道的今天,调用Web服务的代价是高昂的,尤其是仅仅是抓取少量数据的时候尤其如此。而使用Socket,可以只传送数据本身而不用进行XML封装,大大降低数据传输的开销。Socket允许使用长连接,允许应用程序运行在异步模式(提高效率),只有在需要的时候才接收数据

    1.2 模仿QQ通信流程

    1.3 socket通信流程图

    1.4 Socket连接

    iOS中常用的两种Socket类型:

    流式Socket(SOCK_STREAM):流式是一种面向连接的Socket,针对于面向连接的TCP服务应用

    数据报式Socket(SOCK_DGRAM):数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用

    在iOS中使用流式Socket连接的方法:

    以NSStream(流)的方式来发送和接收数据

    设置流的代理,对流状态的变化做出相应

    a. 连接建立

    b. 接收到数据

    c. 连接关闭

    其中:

    1. NSStream:数据流的父类,用于定义抽象特性,例如:打开、关闭代理,继承自CFStream(Core Foundation)

    2. NSInputStream:NSStream的子类,用于读取输入

    3. NSOutputStream:NSSTream的子类,用于写输出

    相关文章

      网友评论

          本文标题: Socket编程

          本文链接:https://www.haomeiwen.com/subject/vnjvettx.html