91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

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

資源簡介

廣東工業(yè)大學計算機網(wǎng)絡(luò)課程設(shè)計的編程實現(xiàn)基于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,用于最后的統(tǒng)計

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

String?sentence?=?“head:?request?“?+?i?+?“?\n“ //模擬用的請求數(shù)據(jù)
+?“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]; //用于接收數(shù)據(jù)的byte數(shù)組
byte[]?receiveData?=?new?byte[1024]; //用于發(fā)送數(shù)據(jù)的byte數(shù)組

sendData?=?sentence.getBytes(); //將請求數(shù)據(jù)轉(zhuǎn)換到byte數(shù)組

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

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

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

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

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

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

String?modifiedSentence?=?new?String(receivePacket.getData()); //從byte數(shù)組轉(zhuǎn)換成String

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

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

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

clientSocket.close(); //關(guān)閉socket
}

//統(tǒng)計出平均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??計算機網(wǎng)絡(luò)\PingClient.class
?????文件????????2561??2014-01-05?11:46??計算機網(wǎng)絡(luò)\PingClient.java
?????文件????????1392??2014-01-07?09:58??計算機網(wǎng)絡(luò)\PingServer.class
?????文件????????1697??2014-01-05?11:46??計算機網(wǎng)絡(luò)\PingServer.java
?????文件??????594732??2014-10-26?14:46??計算機網(wǎng)絡(luò)\計算機網(wǎng)絡(luò)課設(shè).doc

評論

共有 條評論

相關(guān)資源