美文网首页iOS 开发 IOSiOS开发
iOS中级 (傻瓜学Socket与XMPP)(1-1)

iOS中级 (傻瓜学Socket与XMPP)(1-1)

作者: 傻瓜芃 | 来源:发表于2016-03-16 21:44 被阅读814次

认识Socket

Socket是 客户端 与 服务器链接的一个通道. 当客户端向服务器发出请求,或者服务器响应客户端,返回给客户端的时候 都需要一个通道来传输 这个通道就是 Socket.哈哈你们可以理解为"输卵管"
那么客户端发送请求->到服务器 服务器多了去了 哪一个啊?
所以出现了这个东西 叫"IP地址" 输入不同IP地址(百度,腾讯之类).
其实客户端 不是直接和服务器通讯的, 大家都知道HTTP 请求 , 对客户端发送一个HTTP 请求 这里服务器需要接受这个请求 那么服务器里的一个东西 叫
"Web应用程序"来接受客户端发来HTTP请求 (提供HTTP请求).

如果难理解 你们可以把百度服务器当成一个超大型的电脑 , 那么客户端 需求在这个大电脑里面的东西. 所以把 "Web应用程序"可以看成 电脑里的普通"应用程序".

这就比较好理解 其实百度数据库 里有"数据库应用程序"(MySQL
)如果你是学iOS 狗腿子出身 那你说不定不知道啥叫MySQL 那你总该知道啥叫Sqlite, 存储本地数据库的一个东东. 那么服务器当然也要存储一个超级超级大的数据 他们就用的MySQL(例如用户名密码传到服务器存储 都是 用它存的)
刚才 介绍了俩个 数据库应用程序 一个是"Web应用程序" 一个是"数据库应用程序". 那么 这俩东西 是相同等级的 不同程序. 那么 就哟个东西 可以标识他们 这个就叫做"端口" 不同端口,代表不同的应用程序.

第二个东东TCP(传输控制协议)

是建立连接的东东 ,举例 假如客户端要发一个HTTP请求 那么怎么建立这个Socket 对 "TCP" 是 建立Socket的 建立方式 .你用TCP(传输协议)去传输她的特点:

1.传输数据 不是限制哟

2.建立Socket管道之前需要"三次握手" 举例子哈: 看仔细了 第一步我拨打了电话 ,第二部:对方接听了电话 说了句"喂". 第三部 我听到了 然后 跟他说"我是XXX" 那么ok 你的通话成功, Socket也是一样的, 三次握手验证成功那么ok 你可以通讯了(XMPP就是这么做到滴) 所以需要做三次这样的繁琐验证 因此她的传输是可靠地

3. 必须建立连接(所以每次都要三次握手) 效率会低.

UDP(用户数据包协议)

记住他和TCP 是等价的也是传输方式 但是他不需要连接管道, "将数据和数据源(服务器IP地址)和目的(你的IP)封装成数据包 传输 .
它的传输特点:

1不需要连接 因此传输数据不可靠(可能中断)

2.由于不需要建立连接 她的速度快

3 数据包大小限制在64k 所以可以称时时通讯 每时每刻都在传输 所以可以吧UDP 传输 理解为直播 . 为啥要限制那么小(64k)这样如果传200M得数据包 你要是断了 你这200M不就废了?.

还不明白UDP 和TCP? 假如你要跟你老婆 买礼物 你咋送过去?

你是飞鸽传书 还是找快递公司啊 随你. 这俩种方式 就是 UDP和TCP.(要我我就选飞鸽传书 因为这样比较浪漫).

这期出的(XMMP和Socket)就比较长了 估计要写好几次 请大家时时关注我 谢谢. 今天讲的理论知识 对以后的XMPP 和网络数据 有很大帮助 希望大家好好看看 后续有更新

相关文章

  • iOS中级 (傻瓜学Socket与XMPP)(1-1)

    认识Socket Socket是 客户端 与 服务器链接的一个通道. 当客户端向服务器发出请求,或者服务器响应客户...

  • 环信

    Socket XMPP

  • iOS开发-Socket&XMPP(即使通讯)

    Socket&XMPP 什么是Socket? 1.HTTP 就是基于Socket实现; 2.网络模型(为了网络的可...

  • IOS TCP/UDP/XMPP/HTTP/SOCKET

    TCP:安全的协议,能保证数据顺序和正确性,服务器和客户端能随时互发数据。如果服务器要主动发送数据给客户端,可以用...

  • (转载)XMPPFrameWork IOS 开发(三)登录

    原始地址:XMPPFrameWork IOS 开发(三) XMPP中常用对象们: XMPPStream:xmpp基...

  • 即时通讯

    iOS即时通讯,从入门到“放弃”?socket的半包,粘包与分包的问题iOS 处理socket粘包问题iOS___...

  • 0. Socket学习资料汇总

    Socket理论知识 iOS Socket理论知识 关于iOS socket都在这里了 iOS Socket T...

  • Socket.IO on Objective-C

    Socket.IO on iOS 基础与简介GitHub下载地址(swift版本):socket.io-clien...

  • p_iOS_常见面试

    理论篇: 1.网络(Http、TCP/UDP、XMPP、Socket等)http://www.jianshu.co...

  • 即时通讯

    XMPP 一、 实现原理 XMPP是一个即时通讯的协议,是建立在Socket通信基础上的,它规范了用于即时通信...

网友评论

    本文标题:iOS中级 (傻瓜学Socket与XMPP)(1-1)

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