第二篇:一个经典的比喻( 关于TCP连接API )
前言
编程是对现实世界的模拟,网络通信自然也是对现实世界通信的模拟。可以将网络通信中使用的各种API和对现实世界中的各种通信设备进行通讯的操作进行对比以加深理解。
对比
socket() 函数 vs 申请一台电话机
bind() 函数 vs 获取并声明自己的电话号码
listen() 函数 vs 打开响铃
connect() 函数 vs 呼叫对方( 需输入对方电话号码 )
accept() 函数 vs 接电话( 会收到呼叫方的电话号码 )
说明
对于accept() 函数,它只有在建立连接之后才会返回呼叫方的“电话号码”。而现实中,不论是否决定建立通话都会返回对方的电话号码。