本帖最后由 燕国庆 于 2012-11-28 06:48 编辑
import java.net.*;
class UdpSend
{
public static void main(String[] args) throws Exception
{
//建立服务端
DatagramSocket ds=new DatagramSocket(8888);
//确定数据,定义包将已有的数据打包
byte[] buf="UDP 哥们来了 ,hello!".getBytes();
DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("cq-PC"),10000);
//利用服务将包怕送出
ds.send(dp);
//关闭资源
ds.close();
}
}
import java.net.*;
class UdpRec
{
public static void main(String[] args) throws Exception
{
//建立服务端Udp
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,buf.length);
int port=dp.getPort();
System.out.println("ip="+ip+"::data="+data+"::port="+port);
//关闭资源
ds.close();
}
}
为什么在数据输出的时候,端口号与其他数据的输出中间会有那么多的空行输出,就下面的这个截图
|
|