数据报实现简单的客户端发送数据,服务端接收数据

客户端

public static void main(String[] args) {
		// TODO Auto-generated method stub
		//创建一个数据报
		DatagramSocket socket=null;
		//创建一个数据包
		DatagramPacket packet=null;
		try {
			//实例化数据报
			socket=new DatagramSocket();
			String str="张三你好";
			//实例化数据包(发送的内容的字节,长度,数据报服务器地址,端口号)
			packet=new DatagramPacket(str.getBytes(), str.getBytes().length,InetAddress.getLocalHost(),5555);
			//通过数据包发送数据包到服务端
			socket.send(packet);
		} catch (SocketException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			//关闭数据报
			socket.close();
		}
	}



服务端


public static void main(String[] args) {
		// TODO Auto-generated method stub

		//创建一个数据报
		DatagramSocket socket=null;
		//声明一个数据包
		DatagramPacket packet=null;
		try {
			//实例化DatagramSocket数据报对象(监听的端口)
			socket=new DatagramSocket(5555);
			//用来接收数据包内容的字节数组
			byte[] b=new byte[1024];
			//实例化数据包
			packet=new DatagramPacket(b, b.length);
			//接收客户端发送的数据包
			socket.receive(packet);
			//获取数据包里面的数据后转成字符串打印
			System.out.println("客户端发来数据:"+new String(packet.getData(),0,packet.getLength()));
		} catch (SocketException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			//关闭数据包
			socket.close();
		}
	}



你可能感兴趣的:(java)