Java网络编程UDP协议发送和接收数据
发布时间
阅读量:
阅读量
在工作中有涉及用Java实现UDP协议传输和接收数据,因为之前学习网络编程的时候这块没怎么认真关注,这里补充记录下。
UDP协议发送数据
public class UdpSendDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
DatagramSocket ds=null;
try {
ds=new DatagramSocket();
InetAddress address=InetAddress.getByName("192.168.1.106");
byte[] bys="hello!".getBytes();//数据传输以byte形式
DatagramPacket dp=new DatagramPacket(bys,bys.length,address,10086);
ds.send(dp);
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(ds!=null) ds.close();
}
}
}
UDP协议接收数据
public class UdpReceiveDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
DatagramSocket ds=null;
try {
ds=new DatagramSocket(10086);
byte[] bys=new byte[1024];
int len=bys.length;
DatagramPacket dp=new DatagramPacket(bys,len);
ds.receive(dp);//接收的数据存入DatagramPacket作为容器
byte[] bys2=dp.getData();
System.out.println(new String(bys2,0,dp.getLength()));
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ds.close();//注意释放资源
}
}
}
运行时先运行接收端代码,再运行发送端代码。
全部评论 (0)
还没有任何评论哟~
