java网络编程 udp

java网络编程 udpjava网络编程 udp


package com.dasenlin.udp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;

public class Sender {
    
    public static void main(String[] args) throws SocketException, UnsupportedEncodingException {
        DatagramSocket socket = new DatagramSocket();
        InetSocketAddress address = new InetSocketAddress("127.0.0.1", 1234);
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in, "utf-8"));
        while(true){
            try {
                System.out.println("请输入你要发送的信息:");
                String content = br.readLine();
                if(content.length()==0) break;
                byte[]message =content.getBytes();
                DatagramPacket packet = new DatagramPacket(message, message.length,address);
                socket.send(packet);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        socket.close();
    }
    
}


package com.dasenlin.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class Receiver {
    public static void main(String[] args) throws IOException {
        DatagramSocket socket = new DatagramSocket(1234);
        DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);
        while(true){
            socket.receive(packet);
            byte[]data = packet.getData();
            String s = new String(data,0,packet.getLength());
            System.out.println("接收到内容:"+s);
            if(s.equals("quit")){
                break;
            }
        }
        socket.close();
    }
}