目标:java Web开发

智商欠费了,脑子已经燃起来了
对同一个问题,
看别人写代码:这不是有手就行?
再看自己写的代码:卧槽,什么垃圾...

创建多人聊天室。可以打开一个接收端投影到大屏幕上,创建多个输入端,在一起聊天。

“UDP通信程序”:
先写接收端,准备接受数据

package demo.temp;

import java.io.*;
import java.net.*;

public class ReceiveUDP {
	public static void main(String[] args) throws IOException {
		DatagramSocket ds=new DatagramSocket(10000);
		
		byte[] bys=new byte[1024];
		DatagramPacket dp=new DatagramPacket(bys,bys.length);
		while(true) {
			ds.receive(dp);
			System.out.println(new String(dp.getData(),0,dp.getLength()));
		}
	}
}

再写发送端,发送键盘输入的数据

package demo.temp;

import java.io.*;
import java.net.*;

public class SendUDP {
	public static void main(String[] args) throws IOException{
		DatagramSocket ds=new DatagramSocket();
		
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		String line;
		while((line=bf.readLine())!=null) {
			if("886".equals(line)) break;
			byte[] bys=line.getBytes();
			DatagramPacket dp=new DatagramPacket(bys,bys.length,InetAddress.getByName("192.168.10.32"),10000);
			ds.send(dp);
		}
		bf.close();
		ds.close();
	}
	
}

“TCP通信程序”:
先写服务端

package demo.temp;

import java.net.*;
import java.io.*;

public class ServerTCP {
	public static void main(String[] args) throws IOException{
		ServerSocket ss=new ServerSocket(10000);
		Socket s=ss.accept();
		
		BufferedReader bf=new BufferedReader(new InputStreamReader(s.getInputStream()));
		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
		String line;
		while((line=bf.readLine())!=null) {
			bw.write(line);
			bw.newLine();
			bw.flush();
		}
		//bw.write("谢谢使用");
		//bw.newLine();
		//bw.flush();
		
		//bw.close();
		//ss.close();
	}
}

再写客户端

package demo.temp;

import java.net.*;
import java.io.*;

public class ClientTCP {
	public static void main(String[] args) throws IOException {
		Socket s=new Socket("192.168.10.32",10000);
		
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
		String line;
		while((line=br.readLine())!=null) {
			bw.write(line);
			bw.newLine();
			bw.flush();
		}
		//s.shutdownOutput();
		
		br.close();
		s.close();
	}
}