如果文章中有不准确的地方,欢迎留言指正。
1.Socket 介绍#
Socket(套接字)是计算机进程通信的一种工具,它是一个编程接口,允许不同计算机之前的进程可以通过网络进行通信。 Socket 主要包含以下几部分:
- IP 地址
- 端口号
- 传输协议
通过以上几个部分,使得进程可以在不同的计算机上进行网络通信。
2.Socket 作用#
通过上面的介绍,可以看出,Socket 就是一个连接点,用来将不同节点的计算机进程连接起来。
通过一个例子来介绍 Socket 的作用,想象一下向朋友邮局寄信的过程。
- 将信封放入邮局,信封上写上目的地(相当于设置 IP 地址和端口号)
- 邮局发往目的地(建立连接并发送数据)
- 目的地邮局取出信封,发往合适的邮箱(接收数据)在以上例子中,两个邮局就是两个 Socket,而我和朋友就是两个进程,我们通过邮局(socket)建立通信
3.有了 IP 地址和端口号为什么还要 Socket#
在之前学习计算机网络的过程中,产生了一个错误理解,有了 IP 地址和端口号,就可以网络通信,今天来纠正一下。
首先,通过 IP 地址和端口号,可以建立连接,通信双方可以进行数据传输。但是,网络通信仅靠这两点是不够的,通信双方需要遵守相同的规则,包括数据格式等,而这个规则,就是协议(例如 TCP、UDP)。
在早期没有 Socket 时,要建立 TCP 连接,需要使用底层的系统调用来建立连接,而 Socket 的诞生,帮助开发人员简化了这一操作,所以,* 套接字是一种用于处理网络通信协议的编程接口,它提供了高级的抽象层,使开发者能够更方便地进行网络通信。*