- 网络编程的三要素
- IP 可以唯一的标识计算机
- 端口 可以唯一标识计算机中的某个地址
- 协议 网络传输的规范 常用的UDP 和TCP
- IP对象
- 通过InetAddress 类创建,是UDP和TCP的基础
- 构造IP对象时用InetAddress的静态方法getByName(String )最方便,IP和计算机名都可以作为参数
- 常用方法:
获取
String
getHostAddress()
返回 IP 地址字符串(以文本表现形式)。String
getHostName()
获取此 IP 地址的主机名。static InetAddress
getLocalHost()
返回本地主机。
- UDP协议
- 特点:效率高 打包 不安全
- 使用步骤
- 发送端
- 创建DatagramSocket对象,用无参构造
- 创建DatagramPacket对象 构造的参数是:字节数组,长度,目标IP,目标端口
- 发送数据包,套接字对象的send(DatagramPacket dp) 方法
- 释放资源
- 接收端
- 创建DatagramSocket对象 ds,参数要用发送端的 目标端口
- 创建数据接收包 dp
- 用ds的receive(dp) 把数据接收到数据包中
- 用DatagramPacket的几个get方法解析数据
- 释放资源
- 发送端
- TCP协议
- 特点:效率稍低 创建链接 安全
- 使用步骤
- Client(客户端)
- 创建Socket对象s. Socket( InetAddress address,int port)或者IP地址直接用计算机名,IP的字符串都行
- 用s.getInputStream() 获取字节输入流对象
- 用IO的方法写数据
- 获取输出流对象
- 用IO流的方法读取数据
- 释放资源
- Server
- 创建ServerSocket对象ss. 要用 s中的目标端口号做参数
- 监听 Socket s=ss.aaccept()
- 获取输入流对象
- 读数据
- 对数据进行操作
- 创建输出流对象
- 返回数据
- 释放资源
- Client(客户端)