1. socket的功能定义
socket是为了使两个应用程序间进行数据交换而存在的一种技术,不仅可以使同一个主机上两个应用程序间可以交换数据,而且可以使网络上的不同主机间上的应用程序间进行通信。
2. 图解socket的服务端/客户端模型
2.1 数据流socket的概念
- 数据流socket(面向连接的) 功能定义:提供一个可靠的,双向的,字节流式的通信通道。
- [可靠的]的含义: 1. 数据被完整无缺地从发送端传输到接收端; 2. 即使数据传输失败,发送端也一定会受到通知。
- [双向的]的含义: 服务器和客户端的socket间可以双向通信。
- [字节流]的含义: 服务器和客户端的socket间的通信好像是连接了一个管道,其中“流淌着字节数据”,字节数据间没有以消息划分的边界存在。