一、java中的网络编程
1.基于TCP/IP协议
InetAddress类
- 获取本机的网络地址(主机名称+IP地址)InetAddress.getLocalHost();
- 获取主机的名称getHostName()
- 获取主机的IP地址getHostAddress()
- 按照主机的名称获取网络地址(主机名称+IP地址)getByName(“www.jd.com”);
- 按照主机名称获取多个网络地址:getAllByName(“www.taobao.com”)注意返回值是InetAddress[]
客户端Socket类
- Socket clientSocket = new Socket(“192.168.104.123”,6006);表示的是连接到指定的服务器端与端口号
- 获取输出字节流对象OutputStream out = clientSocket.getOutputStream();
- 获取输入字节流对象InputStream in = clientSocket.getInputStream();
服务器端ServerSocket类
- ServerSocket server = new ServerSocket(8009)表示的是你需要绑定的端口(监听的端口)Socket client = server.accept();表示的是等待客户端的连接,监听是否有客户端来连接此服务器
2. 基于UDP协议
DatagramPacket类封装数据
- byte[] data = new byte[1024];
DatagramPacket packet = new DatagramPacket(data, data.length);建立一个空的数组来存接收到的数据 - data = packet.getData();获取数据包中的数据部分
- 获取发送端的信息
InetAddress address = packet.getAddress(); - packet.receive(packet);用于接收数据
DatagramSocket类数据的收发
- DatagramSocket socket = new DatagramSocket();
- socket.send(packet);用于发送数据