网络编程
Socket(套接字)
-
socket
(简称套接字)是进程之间通讯的一个工具,好比现实生活中的插座,所有的家用电器想要工作都是基于插座进行的,进程之间想要进行网络通信需要基于这个socket
。 -
socket
是封装了通络通信的接口(类、函数),我们不用关心底层实现。也可以把socket
想成一部手机,想要打电话就必须用它,至于怎么实现的打电话这个功能的我们不用关心。 - 作用:负责进程之间的网络数据传输,好比数据的搬运工。
- 主动套接字:创建出来是为了主动连接别人的(客户端),默认的。
- 被动套接字:为客户端提供服务的套接字。
TCP
- 定义:
TCP
的英文全拼“Transmission Control Protocol
”简称传输控制协议。
TCP通讯步骤:
- 创建连接
- 传输数据
- 关闭连接
- 类比:
TCP
通信模型相当于生活中的“打电话”,在通信开始之前,一点更要先建立好连接,才能发送数据,通讯结束要关闭连接。 TCP
的特点:它是一种面向连接的、可靠的、基于字节流的传输层通信协议。- 字节流:不包含边界数据的连续流(想象成水),最小单位是字节。
- 应用:
TCP
是一个稳定、可靠的传输协议,常用于对数据进行准确无误的传输,比如:文件下载、浏览器上网。
TCP建立连接的三次握手
TCP断开连接的四次挥手