网络编程 —— 了解
2022/2/9 14:15:19
本文主要是介绍网络编程 —— 了解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
计算机网络
是指地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统
网络编程的目的
无线电台…传播交流信息,数据交换,通信
网络通信的要素
- 通信双方地址
- 规则:网络通信的协议
网络模型:
网络编程中有两个主要的问题:
- 如何准确的定位到网络上的一台或者多态主机
- 找到主机之后如何进行通信
网络编程中的要素:
- ip和端口号
- 网络通信协议
ip
ip地址:InteAddress
- 127.0.0.1 本机地址
- IP地址的分类:ip地址分类;公网和私网
public class IPTest { public static void main(String[] args) { try{ //查询本机地址 InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1"); System.out.println(inetAddress1); InetAddress inetAddress2 = InetAddress.getByName("localhost"); System.out.println(inetAddress2); InetAddress localHost = InetAddress.getLocalHost(); System.out.println(localHost); //查询网站ip地址 InetAddress baidu = InetAddress.getByName("www.baidu.com"); System.out.println(baidu); //常用方法 System.out.println(baidu.getAddress()); System.out.println(baidu.getCanonicalHostName()); //规范的名字 System.out.println(baidu.getHostAddress()); //ip System.out.println(baidu.getHostName()); //域名 }catch (Exception e){ e.printStackTrace(); } } }
测试结果:
/127.0.0.1 localhost/127.0.0.1 DESKTOP-IHB2C5F/192.168.136.1 www.baidu.com/110.242.68.3 [B@1b6d3586 110.242.68.3 110.242.68.3 www.baidu.com
端口Port
端口表示计算机上的一个程序的进程:
- 不同的进程有不同的端口号(用于区分软件)
- 被规定0-65535
- TCP;UDP,单个协议下面,端口号不能冲突
- 端口分类:共有端口 0-1023、Http 80、Https 443、FTP 21、Telene 23;程序注册端口:1024 ~ 49151,分配用户或者程序 Tomcat 8080、MySQL 3306、Oracle 1521;动态、私有:49152 ~ 65535
public class PortTest { public static void main(String[] args) { InetSocketAddress inetSocketAddress1 = new InetSocketAddress("127.0.0.1",8080); InetSocketAddress inetSocketAddress2 = new InetSocketAddress("localhost",8080); System.out.println(inetSocketAddress1); System.out.println(inetSocketAddress2); System.out.println(inetSocketAddress1.getAddress()); System.out.println(inetSocketAddress1.getHostName()); //地址 System.out.println(inetSocketAddress1.getPort()); //端口 } }
测试结果:
/127.0.0.1:8080 localhost/127.0.0.1:8080 /127.0.0.1 activate.navicat.com 8080
通信协议
协议:约定
网络通信协议: 速率、传输码率、传输控制
TCP/IP协议簇:实际上是一组协议
- TCP:用户传输协议
- UDP:用户数据报协议
TCP 和 UDP 对比
TCP:打电话
- 连接稳定
- 三次握手、四次挥手
- 客户端、服务端
- 传输完成释放连接,效率低
UDP:发短信
- 不连接,不稳定
- 客户端、服务端(没有明确的界限)
- 不管有没有准备好,都可以发给你
- DDOS:洪水攻击!饱和攻击!
三次握手:
最少需要三次才能保证稳定连接
- A去给B发送个信息,告诉B,A要与B建立连接
- B收到A的信息后,回复A,告诉A,B收到了A的信息,同意建立连接
- A收到B的回复后,在回复B,告诉B,A还在,建立连接吧
四次挥手:
- A告诉B,我要断开连接
- B收到后,回复A,B收到了A要断开连接的信息
- B询问A,是否真的要断开连接
- A回复B,确定断开连接
这篇关于网络编程 —— 了解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南