客服端响应服务端时数据报创建不用传IP和端口吗? DatagramPacket(data, data.length, address, port)

来源:4-3 编程实现基于 UDP 的 Socket 通信之客户端

艾米丽宏

2018-05-28 21:06

客服端响应服务端时数据报创建不用传IP和端口吗? 为什么是DatagramPacket packe2=new DatagramPacket(data, data.length);

而不是这样写呢?DatagramPacket packet=new DatagramPacket(data, data.length, address, port);


=====================================

public class UDPClient {

public static void main(String[] args) throws IOException {

/*

* 向服务器端发送数据

*/

//1.定义服务器的地址、端口号、数据

InetAddress address=InetAddress.getByName("localhost");

int port=8800;

byte[] data="用户名:admin;密码:123".getBytes();

//2.创建数据报,包含发送的数据信息

DatagramPacket packet=new DatagramPacket(data, data.length, address, port);

//3.创建DatagramSocket对象

DatagramSocket socket=new DatagramSocket();

//4.向服务器端发送数据报

socket.send(packet);

/*

* 接收服务器端响应的数据

*/

//1.创建数据报,用于接收服务器端响应的数据

byte[] data2=new byte[1024];

DatagramPacket packet2=new DatagramPacket(data2, data2.length);

//2.接收服务器响应的数据

socket.receive(packet2);

//3.读取数据

String reply=new String(data2, 0, packet2.getLength());

System.out.println("我是客户端,服务器说:"+reply);

//4.关闭资源

socket.close();


写回答 关注

1回答

  • qq_星河k_0
    2018-05-28 22:30:08
    已采纳

    https://img2.mukewang.com/5b0c122400019d4703860364.jpg

    https://img3.mukewang.com/5b0c12240001febe03840290.jpg


    JDK API 中文版,你值得拥有。

Java Socket应用---通信是这样练成的

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

125013 学习 · 590 问题

查看课程

相似问题