UDP通訊demo
阿新 • • 發佈:2020-07-30
要求:使得接受者可以連續接收發送者傳送的資料
傳送的資料是可變的,如可以從控制檯上輸入;
public void sendSocket() throws IOException { DatagramSocket socket = new DatagramSocket(10001); while (true) { byte[] bs = new byte[1024]; DatagramPacket pack = new DatagramPacket(bs, bs.length); socket.receive(pack); InetAddress adress= pack.getAddress(); byte[] b = pack.getData(); int port = pack.getPort(); System.out.print(adress + " "); System.out.print(port + " "); System.out.println(new String(b, 0, b.length)); } }
//鍵盤接收資料的傳送端
public static void main(String[] args) throwsException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; DatagramSocket socket = new DatagramSocket(); DatagramPacket pack = null; byte[] bs = null; while ((str = br.readLine()) != null) { if(str.equals("finish")) break; bs = str.getBytes(); pack = new DatagramPacket(bs, bs.length, InetAddress.getByName("127.0.0.1"), 10001); socket.send(pack); } socket.close(); }