java网络编程基础——UDP通信之DatagramSocket
2013-04-15 20:12
721 查看
import java.net.*;
/*
通过UDP传输方式,将文字数据发送出去
①建立udp服务,udp端点。
②提供数据,将数据封装到数据包中
③通过socket服务的发送功能,将数据包发送出去
④关闭资源
*/
class UdpSend
{
public static void main(String[] args) throws Exception
{
// try{
DatagramSocket ds=new DatagramSocket(8888); //此处的端口号为从发送端的主机的8888端口发出
//相当于第一步,可传(端口号),(端口号+InetAddress对象),或者不传参数()
byte[] data="UDP Hellow World Sending Message".getBytes();
DatagramPacket dp=new DatagramPacket(data,data.length,InetAddress.getLocalHost(),10000);
//相当于第二步,此处的10000端口为目的主机的端口为10000
ds.send(dp);
//第三步
ds.close();
// }
}
}
/*----------------------------分隔符-------------------------------------------*/
/*
用于接受udp数据包,
①定义udpsocket服务
②定义一个数据包,因为要存储要接收到的数据
③通过socket服务的receive方法将收到的数据存入定义好的数据包中
④通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台上。
⑤关闭资源
*/
class UdpRece
{
public static void main(String[] args)throws Exception
{
//步骤一建立udp socket,加上端口号,表示要监听哪个端口
DatagramSocket ds=new DatagramSocket(10000 );
//步骤二,定义数据包
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,buf.length);
//步骤三,通过服务的receive方法将收到的数据存入数据包中
ds.receive(dp);//dp中的DatagramPacket有数据了!
//步骤四,读取数据包中的数据,那到底该怎么拿呢?查文档
String ip=dp.getAddress().getHostAddress();//发现getAddress返回ip地址的封装类InetAddress,
//再用getHostAddress获得获得发送方的ip地址
String data=new String(dp.getData(),0,dp.getLength()); //getData可获得数据缓冲区,即接受到的数据
//但这是byte[]数组类型,转换!!
int port=dp.getPort(); //获得端口号,即发送方的端口号,不多解释
System.out.println(ip+"::"+data+"::"+port); //打印查看结果吧
}
}
/*
通过UDP传输方式,将文字数据发送出去
①建立udp服务,udp端点。
②提供数据,将数据封装到数据包中
③通过socket服务的发送功能,将数据包发送出去
④关闭资源
*/
class UdpSend
{
public static void main(String[] args) throws Exception
{
// try{
DatagramSocket ds=new DatagramSocket(8888); //此处的端口号为从发送端的主机的8888端口发出
//相当于第一步,可传(端口号),(端口号+InetAddress对象),或者不传参数()
byte[] data="UDP Hellow World Sending Message".getBytes();
DatagramPacket dp=new DatagramPacket(data,data.length,InetAddress.getLocalHost(),10000);
//相当于第二步,此处的10000端口为目的主机的端口为10000
ds.send(dp);
//第三步
ds.close();
// }
}
}
/*----------------------------分隔符-------------------------------------------*/
/*
用于接受udp数据包,
①定义udpsocket服务
②定义一个数据包,因为要存储要接收到的数据
③通过socket服务的receive方法将收到的数据存入定义好的数据包中
④通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台上。
⑤关闭资源
*/
class UdpRece
{
public static void main(String[] args)throws Exception
{
//步骤一建立udp socket,加上端口号,表示要监听哪个端口
DatagramSocket ds=new DatagramSocket(10000 );
//步骤二,定义数据包
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,buf.length);
//步骤三,通过服务的receive方法将收到的数据存入数据包中
ds.receive(dp);//dp中的DatagramPacket有数据了!
//步骤四,读取数据包中的数据,那到底该怎么拿呢?查文档
String ip=dp.getAddress().getHostAddress();//发现getAddress返回ip地址的封装类InetAddress,
//再用getHostAddress获得获得发送方的ip地址
String data=new String(dp.getData(),0,dp.getLength()); //getData可获得数据缓冲区,即接受到的数据
//但这是byte[]数组类型,转换!!
int port=dp.getPort(); //获得端口号,即发送方的端口号,不多解释
System.out.println(ip+"::"+data+"::"+port); //打印查看结果吧
}
}
相关文章推荐
- Java基础 网络编程 Socket UDP TCP URL
- Java基础---Java---网络编程---TCP、UDP、UDP-键盘录入方式数据、Socket、TCP复制文件、UDP-聊天
- java网络编程(一) socket方式TCP和Datagram的UDP
- Java基础---Java---网络编程---TCP、UDP、UDP-键盘录入方式数据、Socket、TCP复制文件、UDP-聊天
- java网络编程基础Socket通信应用
- java网络编程基础夯实07-基于TCP/UDP的Socket编程(单线程)
- java网络编程基础夯实06-TCP,UDP,HTTP,Socket简介
- JAVA基础知识之网络编程——-基于UDP协议的通信例子
- 黑马程序员--Java基础学习之网络编程(TCP、UDP、Socket、模拟发送和接收数据)
- Java基础知识强化之网络编程笔记02:Socket通信原理图解
- java中网络编程------UDP协议(实现步骤)DatagramSocket对象
- 计算机网络基础-1.TCP、UDP简单通信java实现
- java例程练习(网络编程[简单UDP通信试验])
- Java的Socket网络编程基础知识入门教程
- Java笔记二十三.网络编程基础与UDP编程
- java网络编程Socket通信常见异常
- Java 网络编程 简单Socket(UDP)
- 基于udp_socket通信的网络编程
- 网络编程__【概述】【UDP传输】【DatagramSocket & DatagramPacket】