大神帮忙看下,运行接收端后,再运行发送端,接收端依然是等待的,没有任何反应,是的代码的问题吗?import java.net.*;
class UdpSend
{
public static void main(String[] args)throws Exception
{
//1创建udp服务,通过DatagramSocket对象
DatagramSocket ds = new DatagramSocket();
//2确定数据,并封装成数据包 搞一字节数据,变成字节数组
byte[] buf = "udp ge men lai le ".getBytes();
//首先指定字节数组 确定发多少数据 指定一个地址
DatagramPacket dp =
new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.254"),10000);
//3通过socket服务,将已有的数据包发送出去,通过send方法
ds.send(dp);
//4关闭资源。
ds.close();
}
}
class UdpRece
{
public static void main(String[] args)throws Exception
{
//1创建udp的socket服务,建立端点, 指定监听的端口
DatagramSocket ds = new DatagramSocket(10000);
//2定义数据包,用于存储数据的。
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,buf.length);
//3通过服务的receive方法将收到的数据存入数据包中
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);
//5关闭资源
ds.close();
}
}
|
|