发送端
import java.net.*;
class UdpSend
{
public static void main(String[] args) throws Exception
{
//创建Udp服务,通过Datagramsocket对象;
DatagramSocket ds=new DatagramSocket();
//确定数据,并将数据封装进数据包 DatagramPacket(byte[] buf,buf.length,InetAddress address,int port)
byte[] buf="welcome to beijing".getBytes();
DatagramPacket dp=new DatagramPacket (buf,buf.length,InetAddress.getByName("211.69.0.6"),10000);
//通过socket服务,将已有的数据包发送出去,通过send方法。
ds.send(dp);
//关闭资源
ds.close();
}
}
接收端
import java.net.*;
class UdpRec
{
public static void main(String[] args) throws Exception
{
DatagramSocket ds=new DatagramSocket(10000);
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,buf.length);
ds.receive(dp);
String ip=dp.getAddress().getHostAddress();
String data=new String(dp.getData(),0,dp.getLength());
int port=dp.getPort();
System.out.println(ip+".."+data+".."+port);
ds.close();
}
}
发送端和接收端为两个分别独立运行的程序,文件命名分别为UdpSend.java和UdpRec.java
为什么发送断的内容,在接收端没显示呢?(附上运行程序图片一张)求解。。。。
|
|