网络编程
计算机网络之间以何种规则进行通信,就是网络模型研究的问题。网络模型一般是指
- OSI(Open System Interconnection 开放系统互连)参考模型。
- TCP/IP协议
ISO(国际标准委员会组织,将数据的传递从逻辑上划分为7个层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)
当发送消息时,需要按照从应用层–物理层的次序,将内容进行层层加包,然后发送出去。
接受消息时,需要按照从物理层–应用层的次序,将内容进行层层拆包,然后解析出来信息。
常见协议:
- http:超文本传输协议,浏览网站的时候使用该协议
- ftp:文件传输协议,上传下载文件时候使用该协议
- tcp:传输控制协议,是一种面向连接的协议,类似于打电话,网络通信需要使用该协议。
- udp:用户数据报协议,是一种非面向连接的协议,类似于写信,网络通信使用该协议。
- ip:互联网协议,是上述协议的底层协议
协议:就是一种约定/规则,是通信双方需要遵循的一种机制。
网络通信三要素:
- IP地址:InetAddress
网络中设备的标识,不易记忆,可用主机名。 - 端口号:
用于标识进程的逻辑地址,不同进程的标识。 - 传输协议
通讯的规则
常见的协议:TCP,UDP
案例:我跟你说话
第一个条件:我要找到你(IP)
第二个条件:你接受我说话声音的地方,耳朵(端口)
第三个条件:我跟你说话,你能接收到,按照什么方式接受,就是我们约定使用同一种语言进行交流,如汉语。