Socket通信
我们知道两个进程如果需要进行通讯最基本的一个前提就是能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。标识出网络中的一个进程后,我们就可以使用socket进行通信了。那么问题来了什么是socket呢?
一、什么是socket
socket的概念来自于UNIX,而UNIX的思想是一切皆是文件,所以我们可以把socket当做一种特殊的文件。该文件也遵循”打开--读写--关闭“的模式,客户端和服务端各自维护一个这样的特殊”文件“,在建立链接后,我们可以写入内容供对方读取或者读取对端的内容。通讯结束时关闭该文件。