接收和发送数据案例
先写接收端
//UDP协议接收数据:
// A:创建接收端Socket对象
// B:创建一个数据包(接收容器)
// C:调用Socke七对象的接收方法接收数据
// D:解析数据包,并显示在控制台
// E:釋放资源
package net_study_02;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;//UDP协议接收数据:// A:创建接收端Socket对象// B:创建一个数据包(接收容器)// C:调用Socke七对象的接收方法接收数据// D:解析数据包,并显示在控制台// E:釋放资源public class ServeDemo {public static void main(String[] args) throws IOException {//创建接收端Socket对象// DatagramSocket (int port)DatagramSocket ds =new DatagramSocket(10086);byte[] byts = new byte[1024];//创腱一个数据包 (按收容器)// DatagramPacket (byte[] buf, int length)int lenth = byts.length;DatagramPacket dp =new DatagramPacket(byts,lenth);ds.receive(dp);// 解析数据包 ,并显示在控制台// 获取对方的ip// public InetAddress getAddress ()InetAddress address =InetAddress.getByName(\"192.168.10.103\");// public byte[] getData() :获取数据缓冲区// public int getLength() :获取数据的实际长度byte[] bys2=dp.getData();int len =dp.getLength();String str= new String(bys2,0,len);System.out.println(str);ds.close();}}
然后这里是发送端:
package net_study_02;import java.io.IOException;import java.net.*;//UDP协议发送数据:// A:创建发送端Socket对象// B:创建数据a并把数据打包// C:调用Socke t对象的发送方法发送数据包// D:釋放资源public class ClientDemo {public static void main(String[] args) throws IOException {//创建发送端Socke 七对象// DatagramSocket ()DatagramSocket ds =new DatagramSocket();// 创建数据。并把数据打包// DatagramPacket (byte[] buf, int length,InetAddress address, int port)// 创建数据byte[] byts =\"终于学到网络编程了\".getBytes(); //数据int lenth =byts.length; //数据长度InetAddress ad =InetAddress.getByName(\"192.168.10.103\");//网络地址int port =10086; // 端口号DatagramPacket dp = new DatagramPacket(byts,lenth,ad,port);//调用Socket对象的发送方法发送数据包// public void send (DatagramPacket p)ds.send(dp);ds.close();}}