理解socket应用程序接口
不适用于编程人员阅读,只用于对socket的一个理解。
很早之前就听说过socket应用程序接口,但是一直不理解它到底是用来干什么的,今天总算是弄清楚了。
所谓的socket接口就是操作系统提供的一个系统调用的接口。就类似我们写程序时为了更好的实现代码复用,将代码封装成一个函数,这样我们就能通过调用这个函数来使用代码的功能。现在的应用程序的运行是离不开网络通信的,通过网络通信可以实现不同设备之间的数据交换,要想实现网络通信必然离不开TCP/IP协议栈。因此应用程序想要实现网络通信必须在程序代码中嵌入TCP/IP协议栈的代码,系统中很多应用程序,每个应用程序都分别嵌入TCP/IP代码,这不符合代码复用的编程思想。所以操作系统为了提高TCP/IP代码的复用,将TCP/IP的代码编入系统内核之中,并通过socket接口来给应用程序调用(即为系统调用)。简单来说,就是系统将TCP/IP代码封装成了一个函数,函数名为socket(),我们通过调用这个函数就可以实现TCP/IP网络通信的功能。系统通过socket的字符编码来管理和标识所有调用了socket() 函数的进程。