資源簡介
Programming Assignment 3: UDP Pinger Lab

代碼片段和文件信息
import?java.io.*;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;
import?java.text.SimpleDateFormat;
import?java.util.Date;
import?java.util.Random;
?
public?class?PingClient?{
????private?static?final?double?LOSS_RATE?=?0.3;
????private?static?final?int?AVERAGE_DELAY?=?100;???????//?milliseconds
?????
????public?static?void?main(String[]?args)?throws?Exception?{
????????//?Get?command?line?argument.
????????if?(args.length?==?0)?{
????????????System.out.println(“Required?arguments:?host?port“);?
????????????return;
????????}
?????????
????????if(args.length?==?1)?{
????????????System.out.println(“Required?arguments:?port“);
????????????return;
????????}
?????????
????????String?host?=?args[0].toString();
????????int?port?=?Integer.parseInt(args[1]);
?????????
????????//?發起向服務器的連接????????
????????DatagramSocket?clientSocket?=?new?DatagramSocket();
????????//?等待1秒鐘
????????clientSocket.setSoTimeout(1000);
?
????????InetAddress?IPAddress?=?InetAddress.getByName(host);
?????????
????????for(int?i?=?0;?i?10;?i++)?{
????????????//?發送報文
????????????byte[]?sendData?=?new?byte[1024];
????????????byte[]?receiveData?=?new?byte[1024];
????????????Date?currentTime?=?new?Date();
????????????SimpleDateFormat?formatter?=?new?SimpleDateFormat(“yyyy-MM-dd?HH:mm:ss“);
????????????String?timeStamp?=?formatter.format(currentTime);
????????????String?pingMessage?=?“PING?“?+?i?+?“?“?+?timeStamp?;
????????????sendData?=?pingMessage.getBytes();
????????????DatagramPacket?sendPacket?=?new?DatagramPacket(sendData?sendData.length?IPAddress?port);
????????????try{
????????????????clientSocket.send(sendPacket);
?????????????????
????????????????DatagramPacket?receivePacket?=?new?DatagramPacket(receiveData?receiveData.length);
????????????????clientSocket.receive(receivePacket);
????????????????String?reply?=?new?String(receivePacket.getData());
????????????????System.out.println(“FROM?SERVER:?“?+?reply);
????????????}?catch?(java.net.SocketTimeoutException?ex)?{
????????????????String?reply?=?“No?reply.“;
????????????????System.out.println(“FROM?SERVER:?“?+?reply);
????????????}
????????}
????????//?關閉與服務器的UDP連接
????????clientSocket.close();
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????232??2011-12-04?19:23??UDP-Pinger\.classpath
?????文件????????386??2011-12-04?19:23??UDP-Pinger\.project
?????文件???????2676??2011-12-07?22:07??UDP-Pinger\bin\PingClient.class
?????文件???????2610??2011-12-07?21:50??UDP-Pinger\bin\PingServer.class
?????文件???????2356??2011-12-07?22:07??UDP-Pinger\src\PingClient.java
?????文件???????3490??2011-12-07?21:50??UDP-Pinger\src\PingServer.java
?????目錄??????????0??2011-12-04?19:25??UDP-Pinger\bin
?????目錄??????????0??2011-12-04?19:25??UDP-Pinger\src
?????目錄??????????0??2011-12-04?19:23??UDP-Pinger
-----------?---------??----------?-----??----
????????????????11750????????????????????9
- 上一篇:佳能E568維修手冊
- 下一篇:老段帶你學-鳥哥的Linux私房菜基礎+服務器篇
評論
共有 條評論