1. 网络编程概述

1.1 C/S和B/S

C/S
客户端 服务器软件结构
服务提供商给予用户服务需要准备的内容
1. 各大平台的客户端
Android iOS PC Windows Linux macOS
QQ 微信 淘宝 JD 剑与远征
2. 服务器提供服务
软件更新:
LOL服务器版本更新,同时本地软件也要进行更新操作。这个操作非常耗时。
热更新

B/S
浏览器 服务器软件结构
服务提供商只要提供数据服务就OK,以及前端数据展示方式
1. 浏览器提供商非常非常多
谷歌,火狐,欧朋,Safari,Edge
2. 服务器提供服务
软件更新:
服务器更新数据,浏览器刷新就ok了

1.2 网络通信协议

协议:
protocol协议
网络通信协议是要求双方传递数据的计算机必须遵守的,按照对应的网络传输协议,才可以进入数据的交互和传递。

目前网络段数据传输比较常见的协议:
UDP TCP/IP
初识网络编程

1.3 UDP和TCP/IP区别

UDP
1. 面向无连接,数据传递不算特别安全
2. 因为面向无连接,传输速度快
3. 因为面向无连接,数据传递存在丢包问题
4. UDP没有客户端和服务器区别,都可以作为发送端和接收端
UDP协议使用场景
直播,网络游戏

TCP/IP
1. 面向连接,数据传递较为安全
2. 因为面向连接,所有传递速度较慢
3. 面向连接,数据传递有保障
4. TCP/IP协议是有明确的服务器和客户端概念
TCP/IP协议使用场景
客户端登陆,数据下载,文件传输

1.4 网络编程的三要素
  1. 协议
    两个在于网络情况下的计算机数据传递,都需要对应的协议来完成。

  2. IP地址
    Internet Protocol Address
    当前计算机在网络中的一个地址编号,类似于手机号号码
    IP地址有IPv4协议和IPv6协议
    IPv4是一个32位的二进制数,通常展示效果是a.b.c.d 例如 192.168.1.1
    a.b.c.d 各代表0 ~ 255的数字,目前已经消耗殆尽 42亿个
    IPv6
    IPv6是能够保证地球上的每一粒沙子都有一个IP地址。
    128位地址长度,16字节一组
    8组 0x0 ~ 0xFFFF

  3. 端口号
    端口号是当前应用程序在计算机中的一个编号。可以让计算机明确知道,当前的数据是给予那一个程序使用,或者数据从哪一个程序出现的。
    端口号是一个short类型 0 ~ 65535
    0~1024不能用于自定义端口号使用,特定的系统端口号

相关文章: