iOS 网络通信02

一、Socket的由来


这张图说明了客户端与服务端的通信原理:客户端有一个clientSocket,服务器端有一个serverSocket,他们两建立连接形成管道,进行通信。客户端发送网络请求,服务器响应网络请求。

二、Socket通信流程

iOS 网络通信02_第1张图片

流程说明:

  1. 找到套接字Socket 2.绑定端口  3.监听端口事件  4.接收端口事件 5.服务器与客户端建立连接connect() 6.客户端会写入一条消息write()发送给服务器端,服务器会读read() 7.服务器收到后会写一条write()发送给客户端,客户端会read(),这个过程,客户端服务器已经建立连接了。 8。当客户端不想与服务器建立连接会发送一条关闭close() 发送给服务器read(),然后服务器也会关闭。

三、三次握手协议

   第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
   第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
   第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

四、http协议

http协议就是通过Socket通信,实现数据传输;

http是一个TCP传输协议,是一个安全的传输协议。

五、HTTP协议、XMPP协议/TCP协议、UDP协议区别  p (protocol)

举一个例子,大家就会明白这四个协议的区别了。

写一封信给好友

TCP、UDP  传输方式 (申通,圆通)

HTTP、XMPP  信的格式 (汉语,英文)

你可能感兴趣的:(socket,http协议,三次握手)