网络编程
1.1、概述
计算机网络
- 它涉及将许多计算机连接起来,每台计算机都有自己的一套操作和外部设备,分布在不同地点,跨越通信线路。
- 由网络操作系统、网络管理软件和网络通信协议管理和协调的资源分享和数据传输计算机系统。
网络编程
- 数据可在连接网络的各种计算机上运行的应用程序之间发送。
一.2. 网络通信要素
网络通信如何完成?
通信双方地址
- IP
- 端口号
- 192.168.xx.xx:5900
规则:网络通信协议
OSI七层网络模型
| OSI中的层 |
功能 |
TCP/IP协议簇 |
| 应用层 |
电子邮件、文件传送、文件服务、虚拟终端 |
TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet |
| 表示层 |
数据格式化、代码转换和数据加密都是选项。 |
没有协议 |
| 会话层 |
与其他点断开或连接 |
没有协议 |
| 传输层 |
提供端对端的接口 |
TCP/UDP |
| 网络层 |
为数据包选择路由 |
IP,ICMP,RIP,OSPF,BGP,IGMP |
| 数据链路层 |
发送包含地址和错误检测功能的框架 。 |
SLIP,CSLIP,PPP,ARP,RARP,MTU |
| 物理层 |
二进制数据应转移到物理介质上。 |
ISO2110,IEEE802,IEEE802.2 |
1.3、IP
InetAddress是一个IP地址。
- 网络电脑是唯一能找到电脑的东西
- 另一个组织者(_A)
- IP地址的分类
- IPIP地址分类(ipv/ipv6)
- = Ipv4 = 4 字节,长度为 0-255亿
- ipv6: 例如 (2020: 0bb2: aa: 02506. 00: 00: 00:da59: 3684) = 无符号整数 128 位元! 公共( 互联网) 和私人( 局域网) 的分类 。
- ABCD类地址
- 192. 我不知道你在说什么。 xx:只供组织实体使用。
- 域名:记忆IP问题
代码示例
1.4、端口
港口表示计算机上软件的过程。
- 为了区分软件,不同的程序使用不同的端口号。
- 0-65535 已经设立
- TCP 分区:UDP
- 端口分类
- 0-1023 公共港口
- HTTP:80
- HTTPS:443
- FTP:21
- Telent:23
- 1024-49151 分配给用户或程序的程序登记站
- Tomcat:8080
- MySQL:3306
- Oracle:1521
- 私营,动态港口:19152-65535
Socket 是代码的一个例子。
1.5、通信协议
- 速度 传输代码 编码结构 传输控制 都是网络通信协议的组成部分
- TCP/IP群组(实际是一系列协定)
- TCP协议是用户传输协议的缩略语。
- UDP协议代表用户数据报告协议。
- IP议定书是互联网议定书的缩略语。
- TCP与UDP比较:
- TCP:打电话
- 连接,稳定
- 四波和三次握手
- 要保持连接稳定,需要三次握手。
- 四次挥手:断开连接
- A:我要走了
- B:我知道你要走了
- B:你确定要离开吗?
- A:我真的要走了
- 客户端,服务端
- 传输完成后,链接即解除,效率不高。
- UDP:发短信
- 不连接,不稳定
- 客户客户(无限制)
- 随时随地都可以发送
- 导弹
- DDOS:分布式拒绝提供服务(有时称为洪水袭击和饱和袭击)。
1.6、TCP
- 客户端
- 服务器
- 创建服务套件
- Accpt () 正在等待用户连接 。
- 接受用户的消息
客户端代码示例:
服务器代码示例:
实现文件上传
客户端代码示例:
服务器示例代码
Tomcat
- 服务器
- 自定义 S
- Tomcat 服务器 S: 后台 Java 开发!
- 客户端
1.7、UDP
文本:没有链接,但我们有彼此的地址!
DatagramSocket(Packet)
send() 发送
防止使用接收 () 接收接收 。
发送消息代码示例:
接收端代码示例:
实现联合民主党的聊天(咨询)
循环发送消息
发送端代码示例:
接收端代码示例:
在网上咨询中,两人可能是发件人或收件人。
发送端:
接收端
老师端
学生端
1.8 、URL
https://www.baidu.com/
通用资源定位器(URL):资源在互联网上的位置。
我不知道你在说什么 宝贝 我不知道你在说什么 com xx 我不知道你在说什么 我不知道你在说什么
代码示例:
本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/21097.html。