1. 问题思考
到目前为止我们学习了 ip 地址和端口号还有 tcp 传输协议,为了保证数据的完整性和可靠性我们使用 tcp 传输协议进行数据的传输,为了能够找到对应设备我们需要使用 ip 地址,为了区别某个端口的应用程序接收数据我们需要使用端口号,那么通信数据是如何完成传输的呢?
使用 socket 来完成
2. socket 的概念
socket (简称 套接字) 是进程之间通信一个工具,好比现实生活中的插座,所有的家用电器要想工作都是基于插座进行,进程之间想要进行网络通信需要基于这个 socket。
socket 效果图:
3. socket 的作用
负责进程之间的网络数据传输,好比数据的搬运工。
![
4. socket 使用场景
](https://www.icode9.com/i/ll/?i=85a8fe03097340f3bc3242544d0d5bd3.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5peg5oOF55qE5omT56CB5py65Zmo,size_14,color_FFFFFF,t_70,g_se,x_16)
不夸张的说,只要跟网络相关的应用程序或者软件都使用到了 socket 。
5. 小结
进程之间网络数据的传输可以通过 socket 来完成, socket 就是进程间网络数据通信的工具。