认识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.(要我我就选飞鸽传书 因为这样比较浪漫).