一端UDP程序
import java.net.*;
public class MainClass4
{
public static void main(String[] args)
{
PacketSender ps=new PacketSender();
PacketReceiver pc=new PacketReceiver();
}
}
class PacketReceiver {
public static void main(String[] args) throws Exception {
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
DatagramSocket socket = new DatagramSocket(5002);
socket.receive(packet);
System.out.println(packet.getSocketAddress());
System.out.println(new String(packet.getData(),0,packet.getLength()));
socket.close();
}
}
class PacketSender {
public static void main(String[] args) throws Exception {
byte[] buffer = "data".getBytes();
InetAddress addr=InetAddress.getByName("localhost");
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, addr, 5002);
DatagramSocket socket = new DatagramSocket();
socket.send(packet);
socket.close();
}
}不知道我对UDP的理解哪里错了,上面这段程序编译没问题,运行什么都不输出就结束了,UDP不是面对连接的通信,也就是说
PacketSender ps=new PacketSender();执行完后这个send socket关闭连接,但是数据是发送出去了呀,然后执行PacketReceiver pc=new PacketReceiver();应该能收到数据吧,总之现在的问题就是啥都不输出,请帮忙看看,谢谢了。
...全文
相关推荐
传输层TCP和UDP的区别
UDP概述UDP是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。
TCP与UDP的区别
TCP提供了超时重发、丢弃重复数据、检验数据、流量控制等功能,保证数据能从一端传到另一端。TCP的这种可靠性使其成为网络通信中最常用的协议之一。UDP的特点UDP是一种简单的面向数据报的运输层协议。
UDP 数据转发工具
**UDP工具实现**:像`UDP_Forwarding_tool.exe`这样的应用程序,可能包含以下功能: - 监听指定的UDP端口,接收到数据后立即转发。
真正的Delphi点对点UDP通讯实例
在Delphi程序中,开发者需要编写代码来监听和发送UDP数据包,同时处理连接的建立、维持和断开。这包括创建和绑定UDP套接字,接收和解析来自另一端的数据,以及在必要时处理错误和重传。
一个用vc开发的.基于UDP协议的点对点语音聊天程序
**解码**:接收到的UDP数据包在另一端解码成原始音频信号,然后通过扬声器播放。6.


Java SE
