/** *UDPClient *@author Winty wintys@gmail.com *@version 2008-12-15 */ import java.io.*; import java.net.*; class UDPClient{ public static void main(String[] args)throws IOException{ //DatagramSocket client = new DatagramSocket(); //DatagramSocket client = new DatagramSocket(8000); String ser_addr = "www.dachengkeji.com.cn"; int ser_port = 5050; int cli_port = 8000; String sendStr = "Hello! I'm Client"; int argc = args.length; int i = 0; while (i < argc) { System.out.printf("args[%d]:[%s]\n",i,args[i]); if (args[i].equals("-s") && argc >= i + 1) { ser_addr = args[i + 1]; i = i + 2; continue; } else if (args[i].equals("-sp") && argc >= i + 1) { ser_port = Integer.parseInt(args[i + 1]); i = i + 2; continue; } else if (args[i].equals("-cp") && argc >= i + 1) { cli_port = Integer.parseInt(args[i + 1]); i = i + 2; continue; } else if (args[i].equals("-c") && argc >= i + 1) { sendStr = args[i + 1]; i = i + 2; continue; } else { System.out.printf("args[%d]:[%s] is not support! or need a arg \n",i,args[i]); System.exit(1); } } DatagramSocket client = new DatagramSocket(cli_port); //String sendStr = "Hello! I'm Client"; byte[] sendBuf; sendBuf = sendStr.getBytes(); //InetAddress addr = InetAddress.getByName("www.dachengkeji.com.cn"); //String udp_server_addr = System.getenv("UDP_SERVER_ADDR") ; //udp_server_addr = udp_server_addr.length() == 0 ? udp_server_addr : "www.dachengkeji.com.cn" ; //InetAddress addr = InetAddress.getByName( udp_server_addr); InetAddress addr = InetAddress.getByName( ser_addr); //int port = 5050; //int port = Integer.parseInt(System.getenv("UDP_SERVER_PORT")); //port = port == 0 ? port : 5050 ; DatagramPacket sendPacket // = new DatagramPacket(sendBuf ,sendBuf.length , addr , port); = new DatagramPacket(sendBuf ,sendBuf.length , addr , ser_port); client.send(sendPacket); while(true) { byte[] recvBuf = new byte[4096]; DatagramPacket recvPacket = new DatagramPacket(recvBuf , recvBuf.length); client.receive(recvPacket); String recvStr = new String(recvPacket.getData() , 0 ,recvPacket.getLength()); System.out.println("from server:" + recvStr); if(recvStr.equals("quit")) { break; } } client.close(); } }