网站首页 > java教程 正文
IP : Internet Protocol ( 网络之间互连的协议 ) ,用来解决通信实体的地址问题 -------> java.net.InetAddress
查询IP地址的命令:
Windows : ipconfig /all
Unix / Linux / Mac OS : ifconfig -a
IP v4 : 采用 32 bit 的数字表示一个地址 -------> java.net.Inet4Address
通常看到的 192.168.100.100 形式是将 32bit 拆分成 4 各部分,每个部分 8bit
不同的部分之间 用 圆点 进行分隔
IP v6 : 采用 128bit 的数字表示一个地址 -------> java.net.Inet6Address
通常看到的 FEC0:0:0:ffff::1
每个部分由 4 位 十六进制 表示的 整数 组成,比如 FEC0 , 每部分占 16 bit
不同的部分之间 用 冒号 进行分隔 ,( 分成 8 个部分 )
如果 某个部分 的 4 个十六进制数字都是 0 ,可以只写一个 ,比如 0000 可以写成 0
FEC0:0:0:ffff::1 ------> FEC0:0000:0000:FFFF:0000:0000:0000:0001
Port : 端口号 ,是一个 16 bit 的一个整数,用来 标识 同一个机器上的 不同程序
端口号,通常使用 int 类型的数值来表示,其范围是 [ 0 , 65535 ]
公认端口 : 从 0 到 1023
他们紧密绑定一些特定服务,如 80 端口、23 端口、21 端口 等等
注册端口 : 从 1024 到 49151
松散地绑定一些服务,比如
? Oracle 数据库默认的端口是 1521
? MySQL 数据库默认的端口是 3306
? Tomcat 默认的端口是 8080
动态或私有端口 : 从 49152 到 65535
java.net.InetSocketAddress 类型的实例表示 ( IP + Port )
1.0.0.2:9527
java.net.URL 代表一个统一资源定位符 ( URL ) ,它是指向互联网 "资源" 的指针
协议://主机:端口/资源路径和名称
http://www.weibo.cn:80/index.html
https://www.ccb.com:80/account.do
ftp://ftp.baidu.com:xx/金刚.mkv
jdbc:mysql://localhost:3306/ea?useUnicode=true&characterEncoding=utf8
jdbc:oracle:thin:@localhost:1521:ea
java.net.URI 表示一个 统一资源标识符 ( Identifier ) 引用
可以是 http://www.baidu.com:80/index.html
也可以是 /customer/account/change/password.do
IP : 用来解决通信实体的地址问题
Port : 用来标识同一个通信实体上的不同程序
jdbc:mysql://127.0.0.1:3306/ecut
jdbc:mysql:@127.0.0.1:1521:ecut
TCP : 解决数据传输问题
面向连接的、可靠的数据传输协议 ( 代价较大 )
ServerSocket / Socket
ServerV4 监听客户端连接、将监听到的客户端加入集合、启动服务线程
ClientV4 连接远程服务器、启动接受数据的线程、向服务器发送数据
UDP : 解决数据传输问题
非面向连接、不可靠的数据传输协议 ( 代价较小 )
DatagramSocket :
DatagramPacket 数据报包 ( 其中包含 数据 、 源IP地址和源端口 、目的IP地址和目的端口 )
setData( byte[] data ) 一般用来设置将要发送的数据
setSocketAddress( SocketAddress remote ) 设置目的IP地址和目的端口
getLength() 用来获取本次接受到的字节数目
receive( DatagramPacket dp ) 用来接收数据报包
send( DatagramPacket dp ) 用来发送数据报包
MulticastSocket : UDP (组播)
猜你喜欢
- 2024-09-10 Netty面试秘籍-1.什么是 Netty,它在网络编程中解决了什么问题?
- 2024-09-10 清华毕业大佬终于把Java网络编程面试题整理完了
- 2024-09-10 Java网络编程重点(java实现网络编程)
- 2024-09-10 Java学习:Java网络编程之TCP协议(java tcp ip socket编程)
- 2024-09-10 最全Java架构师技能树:Java编程+网络+设计模式+数据库+分布式
- 2024-09-10 Java网络编程之TCP服务器底层原理与实现
- 2024-09-10 Java面试八股文Netty网络编程,select
- 2024-09-10 Java 网络IO编程总结(网络编程java常用方法)
- 2024-09-10 想学习Java网络编程,从何入手?(java中的网络编程)
- 2024-09-10 不“精通”Java网络和并发编程也能学好Netty,这份Neety手册绝了
你 发表评论:
欢迎- 最近发表
-
- java8的stream使用小示例(java stream的用法)
- Java 中的 Lambda 表达式深入解析:从语法糖到高阶函数
- 实战解析Android架构设计原则(android的架构)
- 搭建mcp服务器用java17,可是项目开发用的是java8怎么实现?
- Java Stream:集合处理的api(java集合流操作)
- Java 8新特性全面剖析:让编程变得更简单优雅
- Java 8新特性全面解析与最佳实践:掌握未来编程的艺术
- Java 8日期时间API新特性揭秘与深度解析
- Java 8 Stream API 详解(java.stream)
- Java机器学习库(Java ML)(二、聚类)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)