xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 437KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-08
  • 語言: Java
  • 標簽: UDP的ping??

資源簡介

廣東工業大學計算機網絡課程設計的編程實現基于UDP的ping(java)

資源截圖

代碼片段和文件信息

import?java.io.BufferedReader;
import?java.io.InputStreamReader;
import?java.io.StringReader;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;
import?java.text.SimpleDateFormat;
import?java.util.Date;

public?class?PingClient
{
public?static?void?main(String[]?args)?throws?Exception
{
String?address?=?args[0]; //從命令行獲得server?ip地址
int?port?=?new?Integer(args[1]); //從命令行獲得server?port

Long[]?rtt?=?new?Long[10]; //用于存儲rtt,用于最后的統計

for?(int?i?=?1;?i?<=?10;?i++) //模擬發送10條請求
{
SimpleDateFormat?sdf?=?new?SimpleDateFormat(“yyyy-MM-dd?hh:mm:ss.SS“); //時間戳格式

String?sentence?=?“head:?request?“?+?i?+?“?\n“ //模擬用的請求數據
+?“playload:?PingUDP?SequenceNumber:“?+?i?+?“?TimeStamp:“
+?sdf.format(new?Date())?+?“\n“;

DatagramSocket?clientSocket?=?new?DatagramSocket(); //生成client端socket實例

InetAddress?IPAddress?=?InetAddress.getByName(address); //生成ip地址實例

byte[]?sendData?=?new?byte[1024]; //用于接收數據的byte數組
byte[]?receiveData?=?new?byte[1024]; //用于發送數據的byte數組

sendData?=?sentence.getBytes(); //將請求數據轉換到byte數組

DatagramPacket?sendPacket?=?new?DatagramPacket(sendData?sendData.length?IPAddress?port); //生成發送數據包實例

Date?sendBefore?=?new?Date(); //記錄發送前時間

clientSocket.send(sendPacket); //發送到server端

DatagramPacket?receivePacket?=?new?DatagramPacket(receiveData receiveData.length); //生成接收數據包實例

clientSocket.receive(receivePacket); //接收從server返回的數據包

Date?receiveAfter?=?new?Date(); //記錄接收后的時間?

String?modifiedSentence?=?new?String(receivePacket.getData()); //從byte數組轉換成String

rtt[i?-?1]?=?receiveAfter.getTime()?-?sendBefore.getTime(); //計算rtt

System.out.println(“rtt:“?+?rtt[i?-?1]); //顯示rtt

System.out.println(modifiedSentence); //顯示從server返回的數據

clientSocket.close(); //關閉socket
}

//統計出平均rtt最大rtt和最小rtt

long?sumRtt?=?0;
long?maxRtt?=?0;
long?minRtt?=?rtt[0];
for?(int?i?=?0;?i? {
if?(rtt[i]?>?maxRtt)
{
maxRtt?=?rtt[i];
}

if?(rtt[i]? {
minRtt?=?rtt[i];
}

sumRtt?+=?rtt[i];
}

System.out.println(“average?rtt:?“?+?sumRtt?/?10?+?“?millisecond“);
System.out.println(“max?rtt:?“?+?maxRtt);
System.out.println(“min?rtt:?“?+?minRtt);
}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2343??2014-01-07?09:58??計算機網絡\PingClient.class
?????文件????????2561??2014-01-05?11:46??計算機網絡\PingClient.java
?????文件????????1392??2014-01-07?09:58??計算機網絡\PingServer.class
?????文件????????1697??2014-01-05?11:46??計算機網絡\PingServer.java
?????文件??????594732??2014-10-26?14:46??計算機網絡\計算機網絡課設.doc

評論

共有 條評論

相關資源