首先要明确socket网络编程必然涉及两方:服务器端编程(接收端)、客户端编程(发送端)
DatagramSocket此类表示用来发送和接收数据报包的套接字。
服务器端udp编程的思路:
A:开启DatagramSocket服务,
B:创建数据报包DatagramPacket对象,并将要发送的数据以byte[]字节数组形式传入,同时还要将InetAddress对象,和发送的端口以参数的形式传入。如果需要实现控制台发送多条语句,需要将数据报包对象创建放在while(true)循环读取中。
C:调用DatagramSocket服务的方法将数据发送出去:ds.send(dp)。
D:关闭ds所调用的资源:ds.close();
客户端udp编程思路:
A:开启DatagramSocket服务,由于udp采用广播方式发送,故在客户端在开启DatagramSocket服务时需要绑定一个监听端口
B:创建一个空的byte[]字节数组,作为接收从物理层传来的字节数据。
C:创建数据报包DatagramPacket对象,并把上面建立的空的字节数组作为参数传入,传入后,以后的事全部交给ds、dp来处理。
D:调用DatagramSocket服务特有方法接收数据:ds.receive(dp)
E:处理数据,继续等待接收数据
|