客户端
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; public class LoginClient { public static void main(String[] args) { String info = "你好,我想咨询一个问题"; byte[] infos = info.getBytes(); //IP地址获取方法 InetAddress ia; DatagramSocket socket =null; try { ia = InetAddress.getByName("localhost"); DatagramPacket dp = new DatagramPacket(infos, infos.length, ia, 5000); socket = new DatagramSocket(); socket.send(dp); //接收服务端信息 byte[] replys = new byte[1024]; DatagramPacket dp1 = new DatagramPacket(replys,replys.length); socket.receive(dp1); String reply = new String(dp1.getData(),0,dp1.getData().length); System.out.println("服务器说:"+reply); } catch (UnknownHostException e) { e.printStackTrace(); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ socket.close(); } } }
服务器端
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketAddress; import java.net.SocketException; public class LoginService { public static void main(String[] args) { DatagramSocket socket = null; byte[] info = new byte[1024]; DatagramPacket dp = new DatagramPacket(info, info.length); try { socket = new DatagramSocket(5000); socket.receive(dp); String infos = new String(dp.getData(), 0, dp.getData().length); System.out.println("客户端说:"+infos); //给客户端一个响应 String reply = "你好,有什么问题请说"; SocketAddress sa = dp.getSocketAddress(); DatagramPacket dp1 = new DatagramPacket(reply.getBytes(), 0, reply.getBytes().length, sa); socket.send(dp1); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ socket.close(); } } }
时间: 2024-12-10 23:09:45