IOS Socket 02-Socket基础知识

1. 简介

Socket就是为网络服务提供的一种机制

通信的两端都是Socket

网络通信其实就是Socket间的通信

数据在两个Socket间通过IO传输

2. Socket通信流程图

IOS Socket 02-Socket基础知识

3. 模拟QQ聊天图

首先,张三的QQ先发出一句话‘你吃饭了吗’到服务器Server。Server接收到之后,将这段话发送给李四。

然后,李四接收到这句话后,作出相应的答复‘还没,一起吃不’给张三的QQ。这句话返回操作也是一样的流程,先送到服务器,最后送到张三QQ中。如下图:

IOS Socket 02-Socket基础知识

4. HTTP与Socket的区别

1)HTTP是基于Socket实现的

2)HTTP建立的连接为短连接,Socket连接的连接为长连接

Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。

3)HTTP传输的数据格式是已经’规定’好的,Socket实现的数据传输是最原始的,socket实现的传输格式可’自定义’

例如,http的请求头:content-type content-length 是规定好。

 

看本篇文章之前,可以先了解一下网络的基础知识:

IOS Socket 01-网络协议基础知识

看完本文章,可以看下一篇文章

IOS Socket 03-建立连接与登录

上一篇:杜教的AAA树


下一篇:集中式(SVN)和分布式(Git)版本控制系统的简单比较