第三十五天--小人物的坚持--网络编程

1,网络编程

可以让设备中的程序和网络上其他设备中的程序进行数据交互(实现网络通信的)

2,java提供了哪些网络编程的方式

java.net.*包下提供了网络编程的解决方案

基本的通信架构

有两种--CS架构(Client客户端/Server服务端)--BS架构(Browser浏览器/Server服务端) ​​​​​​​

无论CS架构和BS架构都必须依赖网络编程

3,网络通信三要素

IP地址:设备在网络中的地址,是唯一的标识

端口:应用程序在设备中唯一的标记

协议:连接和数据在网络中传输的规则

4,IP地址

全称:互联网协议地址

有两种形式:IPv4--32位,不够用

和IPv6--共128位,分为八段表示,每段每四位编码成一个十六进制位表示,八段用冒号隔开

IP域名:例如http://www.itheima.com

公网IP,内网IP

公网IP:可以连接互联网的IP地址

内网IP:也叫局域网IP,只能组织机构内部使用

192.168开头就是常见的局域网地址,专为组织机构使用

特殊IP:172.0.0.1、localhost:代表本机IP,只会寻找当前所在的主机

IP常用命令:

ipconfig:查看本机IP地址

ping IP地址:检查网络是否连通

物理地址(MAC地址):设备的唯一标识,出厂焊死在设备上的

InetAddress--代表ip地址

5,端口

标记正在计算机设备上运行的应用程序的,被规定为一个16位的二进制,范围为0~65535

分类:

周知端口:0~1023,被预先定义的知名应用占用(如:HTTP占用80,FTP占用21)

注册端口:1024~49151,分配给用户进程或某些应用程序

动态端口:49152~65535,因为它一般不固定分配某种进程,而是动态分配

注意:我们自己开发程序一般使用注册端口,且一个设备中不能出现两个程序端口号一样

6,协议

网络通信协议:网络上通信的设备,实现规定的连接规则,以及传输数据的规则

开放式网络互联标准:OSI网络参考模型

OSI网络参考模型:全球网络互联标准--太过理想化

TCP/IP网络模型:事实上的国际标准

7,传输层的两个协议

UDP:用户数据报协议

特点:无连接,不可靠通信

不实现建立连接,数据按照包发,包里面包含:自己的ip,程序端口,目的地ip,程序端口等

发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不返回确认

故而是不可靠的,但是通信效率高,语音通话,视频直播等

TCP:传输控制协议

特点:面向连接,可靠通信

TCP的最终目的:要保证在不可靠的信道上实现可靠的传输

TCP主要有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接

三次握手:

可靠连接:确认通信双方,收发消息都是正常无问题的(全双工)

传输数据进行确认,每次发消息都有编号标识

四次挥手断开连接:

目的:确保双方数据的收发都已经完成

​​​​​​​

8,UDP通信

特点:无连接,不可靠

java提供了java.net.DatagramSocket类来实现UPD通信

参数一:要发送的数据,字节数组

参数二:发送数据的大小

参数三:目的地IP地址

参数四:接收端端口号

相关推荐
不像程序员的程序媛6 小时前
检测网络的命令mtr详解
网络
天启HTTP7 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_7 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
hz567899 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
优橙教育9 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
AIgorithmGEEK9 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
物联网软硬件开发-轨物科技13 小时前
【轨物洞见】什么是产品碳足迹(PCF)?ISO 14067 计算方法与应用场景深度解读
大数据·网络·人工智能
姜鱼问生16 小时前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
qq_5434478216 小时前
DNS解析怎么排查?故障处理与运维实用手册
运维·服务器·网络·php