Socket是网络驱动层提供给应用程序编程的接口和一种机制。
可以把网络接口比喻成一个港口码头,应用程序只要把货物放在港口码头,就等于完成了货物的运送,应用程序只需等待货物到达码头后,把货物取走。
Socket是在应用程序中创建的,通过一种绑定机制与驱动程序建立关系,并告诉自己对应的ip地址和port,应用程序写入到Socket的数据时通过Socket交给驱动程序向网络上发送出去;计算机从网络上收到与某个Socket绑定的ip和port相关的数据后,驱动程序再交给Socket,应用程序便可以从这个Socket中读取接收到的数据,网络应用程序就是这样通过Socket来发送和接收数据的。