1. 简介
Socket就是为网络服务提供的一种机制
通信的两端都是Socket
网络通信其实就是Socket间的通信
数据在两个Socket间通过IO传输
2. Socket通信流程图
3. 模拟QQ聊天图
首先,张三的QQ先发出一句话‘你吃饭了吗’到服务器Server。Server接收到之后,将这段话发送给李四。
然后,李四接收到这句话后,作出相应的答复‘还没,一起吃不’给张三的QQ。这句话返回操作也是一样的流程,先送到服务器,最后送到张三QQ中。如下图:
4. HTTP与Socket的区别
1)HTTP是基于Socket实现的
2)HTTP建立的连接为短连接,Socket连接的连接为长连接
Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
3)HTTP传输的数据格式是已经’规定’好的,Socket实现的数据传输是最原始的,socket实现的传输格式可’自定义’
例如,http的请求头:content-type content-length 是规定好。
看本篇文章之前,可以先了解一下网络的基础知识:
看完本文章,可以看下一篇文章
alunchen