学习socket是为了完成c/s架构的开发
socket定义
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
也有人将socket说成ip+port,ip是用来标识互联网中的一台主机的位置,而port是用来标识这台机器上的一个应用程序,ip地址是配置到网卡上的,而port是应用程序开启的,ip与port的绑定就标识了互联网中独一无二的一个应用程序
套接字
一开始套接字被用在同一主机不之间的同应用程序之间的通信,这也被称为进程间通信或者IPC。套接字两种,分别是基于文件和基于网络。
基于文件的套接字家族:AF_UNIX
基于网络的套接字家族:AF_INET,,还有很多地址家族,但是AF_INET是应用最广泛的那种,由于只关心网络编程,所以我们大部分时间只关注AF_INET。