无法接收到UDP发送的数据包

问题:基于MFC上位机编写的UDP广播程序,局域网发送数据包,Linux开发板上的UDP接收程序无法接收到任何信息

解决方法:关闭了虚拟机的虚拟网卡,即可重新连接。
(PS : 这边有个另外一个问题,通过交换机打开两个上位机程序,连接两个Linux开发板,这里需要注意port口不能复用,可能会导致通信异常)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中使用DatagramSocket类来发送接收UDP数据包。DatagramSocket类是Java提供的用于实现UDP协议的套接字类。 要发送UDP数据包,可以按照以下步骤进行操作: 1. 创建一个DatagramSocket对象,可以指定端口号或者让系统自动分配一个可用的端口号。 2. 创建一个DatagramPacket对象,指定要发送的数据、目标主机的IP地址和端口号。 3. 调用DatagramSocket的send()方法,将数据包发送到目标主机。 要接收UDP数据包,可以按照以下步骤进行操作: 1. 创建一个DatagramSocket对象,可以指定端口号或者让系统自动分配一个可用的端口号。 2. 创建一个字节数组,用于存储接收到的数据。 3. 创建一个DatagramPacket对象,指定接收数据的字节数组和数组长度。 4. 调用DatagramSocket的receive()方法,接收来自其他主机发送数据包。 以下是一个简单的示例代码: // 发送UDP数据包 DatagramSocket socket = new DatagramSocket(); String message = "Hello, UDP!"; InetAddress address = InetAddress.getByName("目标主机IP地址"); int port = 12345; byte[] sendData = message.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, address, port); socket.send(sendPacket); // 接收UDP数据包 byte[] receiveData = new byte[1024]; DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); socket.receive(receivePacket); String receivedMessage = new String(receivePacket.getData(), 0, receivePacket.getLength()); System.out.println("Received message: " + receivedMessage);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值