• 大小: 6KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: UDP  Pinger  Lab  

资源简介

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


评论

共有 条评论