`

使用udp进行数据的发送和接收

 
阅读更多
public class SendDemo {
	public static void main(String[] args) throws IOException {
		
		
		// 创建发送端Socket对象
		DatagramSocket datagramSocket = new DatagramSocket();
		// 创建数据,并把数据打包
		byte[] bytes = "Hello udp".getBytes();
		InetAddress inetAddress = InetAddress.getByName("192.168.0.127");
		int port = 10086;
		DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length,inetAddress, port);
		// 调用Socket对象的发送方法发送数据包
		datagramSocket.send(datagramPacket);

	}
}

 接收代码

public class ReceiveDemo {
	public static void main(String[] args) throws IOException {
		DatagramSocket datagramSocket = new DatagramSocket(10086);
		byte[] bytes = new byte[1024];
		int length = bytes.length;
		DatagramPacket datagramPacket = new DatagramPacket(bytes, length);
		datagramSocket.receive(datagramPacket);
		
		// 解析数据包,并显示在控制台
				// 获取对方的ip
				// public InetAddress getAddress()
				InetAddress address = datagramPacket.getAddress();
				String ip = address.getHostAddress();
				// public byte[] getData():获取数据缓冲区
				// public int getLength():获取数据的实际长度
				byte[] bys2 = datagramPacket.getData();
				int len = datagramPacket.getLength();
				String s = new String(bys2, 0, len);
				System.out.println(ip + "传递的数据是:" + s);
		
		datagramSocket.close();
		
	}

}

 运行的时候,要保证两台机器在同一个局域网上,其次要先运行接收端

  通过运行,我们发现,udp确实是一个不可靠的连接,它没有管你是否接收到了

  它的作用就是发送,不去管你接收端是否接收到了

 

 

 

分享到:
评论

相关推荐

    matlab使用UDP协议发送和接收报文程序源码.zip

    【达摩老生出品,必属精品,亲测校正,质量保证...源码说明: 基于matlab的使用UDP协议发送和接收报文程序源码,有发送和接收端两套程序,包含完整代码和注释,非常适合借鉴学习 适合人群:新手及有一定经验的开发人员

    基于raw socket的UDP数据的发送和接收

    总结来说,基于Raw Socket的UDP数据发送和接收是一项涉及网络协议底层操作的技术,适用于需要高度定制网络包的应用。它要求开发者具备深厚的网络协议知识,以确保数据的正确传输和解析。在实际应用中,务必谨慎操作...

    c# UDP组播的发送和接收(使用socket 类)

    本文将深入探讨如何使用Socket类来实现UDP组播的发送和接收,并且讨论如何指定特定的网络接口进行消息接收。 首先,让我们了解UDP组播的基本概念。组播不同于单播和广播,它允许一个发送者向多个接收者同时发送数据...

    C#socketUdp异步消息发送接收

    C#是一种广泛用于构建桌面和Web应用程序的编程语言,它提供了强大的网络通信支持,其中包括使用UDP(用户数据报协议)进行异步消息发送和接收。本文将深入探讨C#中如何利用Socket API实现UDP异步通信,以及相关的...

    C# UDP多线程发送接收

    1. 创建发送线程,负责不断向目标地址发送UDP数据。 2. 需要注意同步问题,避免发送线程和接收线程同时访问UdpClient实例,可以使用锁或其他同步机制。 五、C# UDP多线程接收 1. 创建接收线程,持续监听特定端口,...

    udp发送和接收源代码

    在本主题中,我们将深入探讨如何使用UDP进行数据发送和接收的源代码实现。 首先,我们需要了解UDP通信的基本流程。发送端创建一个socket,打包数据到UDP报文,然后通过sendto函数将报文发送到指定的IP地址和端口。...

    Delphi UDPServer 发送接收16进制数据

    总的来说,"Delphi UDP Server发送接收16进制数据"是一个实用的示例,展示了如何在Delphi中利用TUDPServer组件进行网络通信,并处理16进制数据。通过学习和理解这个项目,开发者可以掌握Delphi的网络编程基础,以及...

    C/C++ 发送UDP数据与接收UDP数据完整代码(支持指定网卡)

    本文将深入讲解如何在Linux环境下使用C++实现UDP(User Datagram Protocol)数据的发送与接收,包括单播和组播功能,并且支持指定网卡操作。我们将讨论相关的核心知识点,以及提供给定的代码文件的作用。 首先,UDP...

    UDP组播的发送和接收程序

    - 编写数据发送逻辑,使用`Send`方法将数据包发送到组播地址。记得转换要发送的数据为字节数组。 2. **创建UDP组播接收端**: - 同样,创建`UdpClient`实例,但不需要指定本地端口,因为`Receive`方法会自动分配...

    udp发送接收图片含demo

    在"udp发送接收图片含demo"的场景中,我们需要创建两个Socket,一个用于发送图片,另一个用于接收图片。发送端首先读取图片文件内容,然后将其封装到UDP的数据报文(Datagram)中,最后通过sendto函数将数据报文发送...

    STM32 UDP通讯接收发送源程序

    STM32 UDP通讯接收发送源程序是针对STM32F407微控制器设计的通信程序,主要利用了网络协议栈中的用户数据报协议(UDP)进行数据传输。该程序适用于嵌入式硬件开发,特别是在需要稳定网络通信的场景下。下面将详细...

    Labview局域网UDP通讯-发送接收数组字符串.zip

    UDP(User Datagram Protocol)是传输层的一种无连接协议,常用于实时数据传输,因为它提供了快速的数据发送和接收能力,但不保证数据的顺序和完整性。 以下是对每个功能的详细说明: 1. **发送字符串**: 在...

    java UDP报文的发送与接收

    接下来,我们将详细讨论如何在Java中发送和接收UDP报文。 一、发送UDP报文 发送UDP报文主要涉及以下几个步骤: 1. **创建DatagramSocket**:首先,我们需要创建一个`DatagramSocket`实例,这将代表我们的UDP...

    Qt用于UDP通信对方停止发送,接收方仍有空报文出现问题

    `QUdpSocket`是Qt提供的一种用于发送和接收UDP数据报的类。在原始的接收代码中,存在一个问题,可能导致接收到空报文: ```cpp QByteArray datagram; datagram.resize(udpSocket->pendingDatagramSize()); udp...

    UDP数据发送接收程序

    这个"UDP数据发送接收程序"是一个基础的实践项目,适用于初学者学习网络编程,特别是UDP通信的基础知识。 首先,我们要理解UDP的特点。与TCP(Transmission Control Protocol)不同,UDP不提供连接建立、流量控制、...

    C#编写上位机使用UDP给单片机发送Json格式数据

    一旦有了Json字符串,就可以通过`Send`方法将数据发送出去: ```csharp byte[] sendBytes = Encoding.UTF8.GetBytes(jsonString); udpClient.Send(sendBytes, sendBytes.Length); ``` 5. **关闭UdpClient**: ...

    Qt5--UDP图片的发送与接收

    `QUdpSocket`允许我们发送和接收UDP数据报,即单个的数据包,而无需建立或维护连接。 发送端的实现步骤如下: 1. 创建`QUdpSocket`实例,并确保其正确绑定到一个本地端口,以便发送数据。这可以通过调用`bind()`...

    c#UDP异步发送接收

    异步发送允许程序在等待数据发送完成时继续执行其他任务,提高了程序的并发性。在C#中,`UdpClient`提供了两个主要的异步发送方法: 1. `BeginSend`: 这是异步发送的第一部分,它返回一个`IAsyncResult`对象,可以...

    UDP单播发送与接收.c

    UDP单播,发送与接收(代码)详细介绍。单播流程:主机A向主机B发送UDP数据报,发送的目的IP为192.168.1.151,端口为 80,此数据经过UDP层、IP层,到达数据链路层,数据在整个以太网上传播。

Global site tag (gtag.js) - Google Analytics