java学习 之 网络编程 下 UDP篇

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

import org.junit.Test;

public class udpTest {
	
//	DatagramSocket与DatagramPacket
//	建立发送端,接收端
//	建立数据包
//	调用Socket的发送、接收方法
//	关闭Socket

	// 再开发送
	@Test
	public void send() {
		
		DatagramSocket ds = null;
		DatagramPacket dp = null;
		
		// DatagramSocket
		try {

			// 
			ds = new DatagramSocket();
			
			// 建立数据包
			byte[] by = "hello world".getBytes();
			dp = new DatagramPacket(by,0,by.length,InetAddress.getLocalHost(),5000);
			
			// 发送数据包
			ds.send(dp);
			
		} catch (SocketException e) {
			e.printStackTrace();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			
			if(ds!=null){
				ds.close();
			}
		}
	}
	
	// 先开接受
	@Test
	public void receive() {
		
		DatagramSocket ds = null;
		DatagramPacket dp = null;
		
		try {
			ds = new DatagramSocket(5000);
			byte[] by = new byte[1024];
			dp = new DatagramPacket(by,0, by.length);
			
			ds.receive(dp);
			
			String str = new String(dp.getData(),0,dp.getLength());

			System.out.println("来自" + dp.getAddress() + "的信息: " + str);
		} catch (SocketException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			
			if(ds!=null){
				ds.close();
			}
		}
	}
}

UDP篇

发布了30 篇原创文章 · 获赞 0 · 访问量 3681

猜你喜欢

转载自blog.csdn.net/MENGCHIXIANZI/article/details/104725054
今日推荐