Java 消息通信模型

TCP/IP + BIO

Socket socket = new Socket("localhost",1234);
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
printWriter.println("Hello");
printWriter.println("world");
printWriter.close();
ServerSocket serverSocket = new ServerSocket(1234);
Socket socket = serverSocket.accept(); // 阻塞至客户端产生请求
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String tmp = null;
while ((tmp = bufferedReader.readLine() )!= null){
    System.out.println(tmp);
}
bufferedReader.close();

UDP/IP + BIO

DatagramSocket clientSocket = new DatagramSocket();
    String datas = "Hello World";
    DatagramPacket sendPacket = new DatagramPacket(datas.getBytes(),datas.getBytes().length, InetAddress.getLocalHost(),1234);
    clientSocket.send(sendPacket);
DatagramSocket serverSocket = new DatagramSocket(1234);
byte[] buffer = new byte[65507];
DatagramPacket recevicePacket = new DatagramPacket(buffer,buffer.length);
serverSocket.receive(recevicePacket);
System.out.println(new String(buffer));