本文的大概内容从一片技术文章中而来,再加上自己的想法。
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket是一种特殊的文件,一些socket函数就是对其进行的操作(打开、读/写IO、关闭)。
socket和file的区别:
文件是都是在同一台计算机上,两个进程之间传输数据。
socket可以实现在不同的计算机之间传输数据,也就是网络传输数据。比如说qq、打开一个网页,这些都是socket来实现通信的。
那网络通信呢又要说到tcp/ip协议和udp协议,socket里面已经封装好了upd和tcp/ip协议,直接使用就可以了。
简单说下tcp/ip协议是干嘛的,网络刚出来的时候,一片混乱,那要传输数据就得大家都遵守一个规则,大家都按照这个,然后就出现了tcp/ip协议。也许你听过3次握手,4次断开,说的就是tcp/ip连接的一个过程。加入a计算机要和b计算机通信,过程是这样的
a:在吗,我可以连你吗
b:在,你连吧
a:好的,我要给你发数据了
#这就是3次握手,这就建立好通道了,两台计算机就可以进行通行了。
那么4次断开是什么呢
a:我要和你断开了
b:好的&#