PingClient

来源:百度知道 编辑:UC知道 时间:2024/06/06 20:25:30
import java.io.*;
import java.net.*;
import java.util.*;
public class PingClient {
private static final double LOSS_RATE = 0.3;
private static final int AVERAGE_DELAY = 100; //milliseconds
private static long returnTime;
private static int returnSeq;
public static void main(String[] args)throws Exception
{
if (args.length != 2) { //主机和端口号
System.out.println("Required arguments: host port");
return;
}
String host = args[0];
int port = Integer.parseInt(args[1]);
DatagramSocket socket = new DatagramSocket();
socket.setSoTimeout(1000);
InetAddress serverAddress = InetAddress.getByName(host);
byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];
//发送十个数据包。
for(int i = 0; i < 10; i++) {
String clientMess = "PIN

MyServer.java:

//MyServer.java
import java.net.*;
import java.io.*;

public class MyServer
{
public static void main(String[] args) throws IOException
{
ServerSocket server=new ServerSocket(8080);
//server创建成功后,采用try-finally确保其无论后面语句运行是否异常都能正确关闭
try
{
System.out.println("服务器程序启动,开始监听客户的请求...");
Socket socket=server.accept();
//返回socket后,采用try-finally确保其无论后面语句运行是否异常都能正确关闭
try
{
//调用socket对象的方法getInetAddress(),可获取其连接的另一端计算机的IP地址
System.out.println("接受客户:"+socket.getInetAddress()+
"的连接请求,开始通信...");
DataInputStream in=new DataInputStream(
new BufferedInputStream(
socket.getInputStream()));
DataOutputStream out=new DataOutputStream(
new BufferedOutputStream(
socket.getOutputStream()));
while(true)
{
double length=i