Java 网络编程Udp

Java 利用网络编程有两种方式:一种是Tcp,另一种是Udp

下面我用Udp编程举例:

/*
	编程实现:
		1.使用UDP协议发送数据,UDP协议接收数据
		2.使用UDP协议发送数据(键盘录入),UDP协议接收数据,并将其显示在控制台
		3.使用UDP协议发送数据(文本文件),UDP协议接收数据,并将其显示在控制台
		4.使用UDP协议发送数据(键盘录入),UDP协议接收数据,并将数据写入文本文件
		5.使用UDP协议发送数据(文本文件),UDP协议接收数据,并将数据写入文本文件
*/
import java.net.DatagramSocket;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileReader;

class UdpSendDemo{
	public static void main(String[] args) throws IOException{
		//method1();
		//method2();
		//method3();
		//method4();
		method5();
	}
	
	//1.使用UDP协议发送数据,UDP协议接收数据
	public static void method1() throws IOException{
		DatagramSocket ds = new DatagramSocket();
		
		InetAddress address = InetAddress.getByName("medal-PC");
		byte[] bys = "hello,udp,我来了".getBytes();
		int len = bys.length;
		
		DatagramPacket dp = new DatagramPacket(bys,len,address,8888);
		
		ds.send(dp);
		
		ds.close();	
	}
	//1.使用UDP协议发送数据(键盘录入),UDP协议接收数据,并将其显示在控制台
	public static void method2() throws IOException{
		DatagramSocket ds = new DatagramSocket();
		
		while(true){
		
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
			String line = br.readLine();
			
			if(line.equals("886")){
				break;
			}	
			
			InetAddress address = InetAddress.getByName("medal-PC");
			byte[] bys = line.getBytes();
			int len = bys.length;
		
			DatagramPacket dp = new DatagramPacket(bys,len,address,8888);
		
			ds.send(dp);
			}
			ds.close();
		}
	//3.使用UDP协议发送数据(文本文件),UDP协议接收数据,并将其显示在控制台	
	public static void method3() throws IOException{
		DatagramSocket ds = new DatagramSocket();
		
		BufferedReader br = new BufferedReader(new FileReader("E:\\PS.txt"));
		
		String line = null;
		while((line = br.readLine()) != null){
		
			InetAddress address = InetAddress.getByName("medal-PC");
		
			byte[] bys = line.getBytes();
			int len = bys.length;
			
			DatagramPacket dp = new DatagramPacket(bys,len,address,8888);
		
			ds.send(dp);
		}
		
		ds.close();	
	}
	
	//4.使用UDP协议发送数据(键盘录入),UDP协议接收数据,并将数据写入文本文件
	public static void method4() throws IOException{
		DatagramSocket ds = new DatagramSocket();
		
		while(true){
		
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
			String line = br.readLine();
			
			if(line.equals("886")){
				break;
			}	
			
			InetAddress address = InetAddress.getByName("medal-PC");
			byte[] bys = line.getBytes();
			int len = bys.length;
		
			DatagramPacket dp = new DatagramPacket(bys,len,address,8888);
		
			ds.send(dp);
			}
			ds.close();
		}
	//5.使用UDP协议发送数据(文本文件),UDP协议接收数据,并将数据写入文本文件
	public static void method5() throws IOException{
		DatagramSocket ds = new DatagramSocket();
		
		BufferedReader br = new BufferedReader(new FileReader("E:\\PS.txt"));
		
		String line = null;
		while((line = br.readLine()) != null){
		
			InetAddress address = InetAddress.getByName("medal-PC");
		
			byte[] bys = line.getBytes();
			int len = bys.length;
			
			DatagramPacket dp = new DatagramPacket(bys,len,address,8888);
		
			ds.send(dp);
		}
		
		ds.close();	
	}
}

  

posted @ 2017-08-11 17:21  meal  阅读(138)  评论(0编辑  收藏  举报