一、现在协议的作用之一就是替代端口,找到对应的服务
二、基础概念
1. 关于七层模型
数据从应用层到物理层叫做封包,反过来叫做解包
2. TCP和UDP
UDP的特性就像发短信,只管发送不确认是否收到,有64k的大小限制,速度快
应用场景:游戏/直播
特征:可能会丢包,并且允许丢包。看一个场景是TCP还是UDP就分析他会不会丢包,丢包了会产生什么后果
TCP就像打电话
应用场景:下载
特征:建立连接的时候是三次握手,关闭连接的时候是四次握手
对比:TCP的效率会比UDP低很多,但是TCP有两个最重要的优点是必须选择他的原因,一个是安全,一个是数据大小不受限制;而且实际开发中走UDP协议要复杂得多,因为要封包拆包,走TCP协议的开发会简单一些
3. socket
网络中客户端和服务器要通信不管是TCP还是UDP都必须用socket来实现(而且是跨平台的,只要是网路通信都要它),可以把socket等价于IP+端口
三、Code
实际网络开发中很少直接用原生socket,除非你是写框架,因为太繁复了,没必要