1、客户端
package com.net;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class J_UdpClient
{
public static void main(String args[ ])
{
DatagramPacket inPacket;
InetAddress sAddr;
byte[ ] inBuffer= new byte[100];
try
{
DatagramSocket dSocket = new DatagramSocket( );
if ( args.length == 0 )
sAddr = InetAddress.getByName("127.0.0.1");
else sAddr = InetAddress.getByName(args[0]);
String s = "小米请求连接";
byte[ ] outBuffer= s.getBytes( );
DatagramPacket outPacket= new DatagramPacket(
outBuffer, outBuffer.length, sAddr, 8000);
dSocket.send(outPacket); // 发送数据报
inPacket= new DatagramPacket(inBuffer, inBuffer.length);
dSocket.receive(inPacket); // 接收数据报
s= new String (inPacket.getData( ), 0, inPacket.getLength( ));
System.out.println("接收到服务器端信息: " + s);
dSocket.close( );
}
catch (Exception e)
{
System.err.println("发生异常:" + e);
e.printStackTrace( );
} // try-catch结构结束
} // 方法main结束
} // 类J_UdpClient结束
2、服务器
package com.net;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Date;
public class J_UdpServer
{
public static void main(String args[ ])
{
DatagramSocket dSocket;
DatagramPacket inPacket;
DatagramPacket outPacket;
InetAddress cAddr;
int cPort;
byte[ ] inBuffer= new byte[100];
byte[ ] outBuffer;
String s;
try
{
dSocket = new DatagramSocket(8000);
while (true)
{
inPacket = new DatagramPacket(inBuffer, inBuffer.length);
dSocket.receive(inPacket); // 接收数据报
cAddr = inPacket.getAddress( );
cPort = inPacket.getPort( );
s= new String(inPacket.getData( ), 0, inPacket.getLength( ));
System.out.println("接收到客户端信息: " + s);
System.out.println("客户端主机名为: " + cAddr.getHostName( ));
System.out.println("客户端端口为: " + cPort);
Date d = new Date( );
outBuffer = d.toString( ).getBytes( );
outPacket = new DatagramPacket(outBuffer, outBuffer.length,
cAddr, cPort);
dSocket.send(outPacket); // 发送数据报
} // while循环结束
}
catch (Exception e)
{
System.err.println("发生异常:" + e);
e.printStackTrace( );
} // try-catch结构结束
} // 方法main结束
} // 类J_UdpServer结束