美文网首页
udp协议传输

udp协议传输

作者: 大虾咪 | 来源:发表于2016-10-31 14:22 被阅读18次

import java.io.IOException;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;

import java.net.SocketException;

import java.net.UnknownHostException;

public class UDPDemo {

public static void main(String[] args) {

// TODO Auto-generated method stub

//UDP发送

UDPSend();

System.out.println("send");

}

//UDP发送

public static void UDPSend(){

/*需求:通过UDP传输方式,将一段文字数据发送出去

* 思路:1.建立UDPSocket服务

* 2.提供数据,并将数据封装到数据包中

* 3.通过socket服务的发送功能,将数据包发出去

* 4.关闭资源

*/

//1.创建udp服务,通过datagramsocket对象

DatagramSocket ds = null;

try {

ds = new DatagramSocket();

//2.确定数据并封装数据包

byte[] data = "UDP lai le ".getBytes();

try {

DatagramPacket dp = new DatagramPacket(data, data.length, InetAddress.getByName("192.168.1.118"), 10000);

try {

ds.send(dp);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//3.通过socket服务的发送功能,将数据包发出去

} catch (SocketException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

//4.关闭资源

ds.close();

}

}

}

import java.io.IOException;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.SocketException;

public class UDPRecevie {

public static void main(String[] args) {

// TODO Auto-generated method stub

/*

* 需求:  定义一个应用程序,用于接受udp协议传输的数据并处理

*

* 思路:

* 1.定义udpSocket服务

* 2.定义一个数据包,因为要存储收到的字节数据,

* 因为数据包对象中有更多功能可以提取字节数据中的不同数据

* 3.通过socket服务的receive方法将收到的数据存入已经定义好的数据包中

* 4.通过数据包对象的特有功能,将这些不同设备取出,打印在控制台

* 5.关闭资源

*

* 定义接收端时,通常会监听一个端口,其实就是给这个接受网络应用程序定义数字标识

* 方便于明确那些数据过来该应用程序可以处理

*/

System.out.println("receive");

//1.创建udpSocket 建立终端

DatagramSocket ds = null;

try {

ds = new DatagramSocket(10000);

//2.定义一个数据包,用于存储数据

byte[] buf = new byte[1024];

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

//3.通过receive方法将收到的数据存入数据包中

try {

ds.receive(dp);

//4.通过数据包的方法获取其中的数据

String ip = dp.getAddress().getHostAddress();

String data = new String (dp.getData(),0,dp.getLength());

int port = dp.getPort();

System.out.println(ip+"::"+data+"::"+port);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (SocketException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

ds.close();

}

}

}

相关文章

  • 2020-03-25【网络基础知识】

    HTTPS 建立连接流程 TCP&UDP 传输层协议TCP 传输控制协议UDP 用户数据报协议 一、UDP 1.特...

  • TCP/UDP

    1.TCP和UDP的区别? TCP:传输控制协议 UDP: 用户数据报协议 TCP/UDP 都是面向传输层协议 1...

  • 网络-传输层

    传输层协议 TCP(Transmission Control Protocol),传输控制协议 UDP(User ...

  • tcp、http和socket的区别

    一:tcp协议 tcp协议属于传输层协议(UDP也属于传输层协议,但是UDP协议是无状态的)。建立一个TCP连接需...

  • Unity高级-Socket

    传输层协议 TCP协议 和 UDP协议 属于传输层协议 TCP(Transmission Control Prot...

  • iOS面试:网络通信概念

    TCP与UDP TCP和UDP都是传输层的协议: TCP是传输控制层协议,是面向连接、可靠的,点对点的;UDP是用...

  • UDP协议详解

    相比于TCP协议(传输控制协议)来说,UDP协议(用户数据报协议)要简单很多。 UDP协议的首部格式 UDP协议的...

  • iOS 网络相关面试题

    问题:TCP、UDP TCP/UDP 传输层协议 ||—— UDP:用户数据报协议 TCP与UDP的区别: 问题...

  • Linux下Socket编程(六)——udp

    简介 udp协议 udp通信流程 示例 udp协议 中文叫用户数据报协议,属于传输层。UDP是面向非连接的协议,它...

  • UDP协议和TCP协议

    UDP协议和TCP协议都是传输层的协议,TCP协议提供可靠的通信传输,而UDP则是常常被用于让广播和细节控制的交给...

网友评论

      本文标题:udp协议传输

      本文链接:https://www.haomeiwen.com/subject/brlputtx.html