1.什么是socket?
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现, socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭).Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议.
门面模式:我的理解就是系统对外界提供单一的接口,外部不需要了解内部的实现。
2.socket在哪里?
一张图说明:
3.TCP/IP,UDP分别是什么?
TCP/IP(Transmission Control Protocol/Internet Protocol):传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的,
TCP/IP协议是一个协议簇,里面包括很多协议的,UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.