一UDP的练习 需求:通过udp传输方式,将一段文字数据发送出去。 步骤:, 1.1,建立udpsocket服务。 DatagramSocket ds=new DatagramSocket(); 1.2,提供数据,并将数据封装到数据包中 byte[] data="wolaile".getBytes(); DatagramPacket dp=new DatagramPacket(data,data.length, InetAddress.getByName("192,168.1.1"),10000); 1.3,将数据发送出去。 ds.send(dp); 4,关闭资源(关闭网卡) ds.close(); 2,定义一个运用程序用来接收udp 2.1定义UDPsocket服务: DatagramSocket ds=new DatagramSocket(10000); 2.2定义一个数据包,用于存储数据。 byte[] buf=new byte[1024]; DatagramPacket dp=new DatagramPacket(buf,buf.length); 2.3通过socket服务接收数据,并存入数据包中。 ds.receive(dp); 2.4通过数据包对象特殊功能获取数据 String ip=dp.getAddress().getHostAddress(); String data=new String(dp.getData(),0,dp.getLength()); 2.5关闭资源。 二、TCP的练习 1,发送端: 1.1,建立socket服务: Socket s=new Socket("192.168.1.1",1111); 1.2,为了发送数据应该获取socket中的输出流: OutputStream out=s.getOutputStream(); 1.3,关闭资源。 s.close(); 2,接收端:没有输入输出流。必须先开服务端,因为面向有链接 2.1建立服务端的socket服务。 ServerSocket ss=new ServerSocket(1111); 2.2获取链接到的客户端对象。 Socket s=ss.accept(); 2.3如果客户端发过来数据那么服务端要使用客户端对应的读取流。InputStream in=s.getInputStream(); byte []buf=new byte[1024]; int len=in.read(buf); System.out.println(new String(buf,0,len)); 2.4关闭客户端: s.close();
|