您的位置:首页 > 编程语言 > Java开发

java(7)--UDP传输

2015-12-08 21:54 330 查看
//定义发送端,通过udp协议完成。

用UDP发送数据。

思路:

1,建立一个UDPsocket服务。 //DatagramSocket

2,定义要发送的数据。

3,将数据打成数据包。 //DatagramPacket

4,通过socket服务将数据包发出去。//ds.send()

5,关闭资源。 //ds.close()

//UDP接收端。

建立UDP的接收端。

思路:

1,建立udpsocket服务。需要监听一个端口,简单说,就是给接收端这个应用程序定义一个数字标识。 //DatagramSocket

2,定义数据包用于存储接收到的数据。

3,使用socket服务的接收功能,将数据都存储到数据包中。 //DatagramPacket

4,通过数据包对象的方法获取具体的数据内容。 //dp.getData() dp.getAddress()

5,关闭资源。 ds.close()

发送端代码片:

class  SendDemo
{
public static void main(String[] args) throws Exception
{
//1,创建udpsocket服务。
DatagramSocket ds = new DatagramSocket();

//2,定义数据。
String str = "udp demo ,o le ";
byte[] buf = str.getBytes();

//3,将数据打成数据包.
DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.254"),10000);

//4,使用socket服务的send方法将数据发送出去。
ds.send(dp);

//5,关闭资源。
ds.close();
}
}


接收端代码片:

class ReceiveDemo
{
public static void main(String[] args) throws Exception
{
//1,创建udpsocket服务,并监听一个端口
DatagramSocket ds = new DatagramSocket(10000);

//2,建立数据包,用于存储数据。存储时需要定义个字节数组缓冲区。
byte[] buf = new byte[1024];

DatagramPacket dp = new DatagramPacket(buf,buf.length);

//3,使用socket服务的receive方法将接收到的数据存储到数据包中。
ds.receive(dp);

//4,通过数据包对象的方法获取具体数据内容。
//4.1获取地址。
String ip = dp.getAddress().getHostAddress();

//4.2获取端口
int port = dp.getPort();
//4.3获取数据。
String data = new String(dp.getData(),0,dp.getLength());

System.out.println(ip+"::"+data+"::"+port);
//5,关闭资源。
ds.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: