您的位置 首页 java

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 ) ,它是指向互联网 “资源” 的指针

协议 ://主机:端口/资源路径和名称

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 ) 引用

可以是

也可以是 /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 (组播)

文章来源:智云一二三科技

文章标题:Java 网络编程基础

文章地址:https://www.zhihuclub.com/182203.shtml

关于作者: 智云科技

热门文章

网站地图