Socket通信
简介
Pipe、FIFO、消息队列、semaphores和shared memory等经典的IPC方法。这些方法只是允许同一机器上的不同进程间进行通信。本节,我们将会介绍不同机器上运行的进程间的通信机制(与同一网络连接):网络IPC。
本章将描述socket 网络IPC的接口,进程可以使用这些接口来和另外的进程进行通信,不管是在同一机器还是在不同的机器上。这也是socket设计的一个主要目的,适合不同机器间的进程进行通信,我们使用的是TCP/IP协议,尽管socket可以使用很多别的网络协议,但是TCP/IP协议实际上是网络传输的标准协议。
通过Socket进行网络通讯和现实生活中打电话有着惊人的相似;
A想要给B打电话,首先,A必须有一台电话机(相当于socket),并且要知晓对方的电话号码,然后向对方拨号,相当于发出链接请求;(假若对方不在同一区内,还需要加区号,相当于网络地址);假如对方在并且空闲的话,(相当于通信的另一方可以接受链接请求);这样双方就可以通话了,相当于建立链接;那么通话的过程就是简单的读写socket过程;通话完毕,挂掉电话,就撤销链接;
Socket层在网络通信中的位置: