package Cau4;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.net.Socket;
public class Client {
private Socket socketOfClient
= null; private final int PORT = 1995;
private final String HOST_NAME
= "localhost"; private static long thoiGianGui;
public void connect() {
try {
socketOfClient
= new Socket(HOST_NAME, PORT
);
// khoi tao luong nhap xuat
socketOfClient.getInputStream()));
socketOfClient.getOutputStream()));
// gui yeu cau cho server cung voi thoi gian gui
out.write("time");
out.newLine();
out.flush();
thoiGianGui
= System.
currentTimeMillis(); ps.println(thoiGianGui);
// nhan ket qua va hien thi ra:
String result
= in.
readLine(); System.
out.
println("Thoi gian he thong la: " + result
); // TODO: handle exception
}
}
public static void main
(String[] args
) { new Client().connect();
}
}
cGFja2FnZSBDYXU0OwoKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkV3JpdGVyOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjsKaW1wb3J0IGphdmEuaW8uT3V0cHV0U3RyZWFtV3JpdGVyOwppbXBvcnQgamF2YS5pby5QcmludFN0cmVhbTsKaW1wb3J0IGphdmEubmV0LlNvY2tldDsKCnB1YmxpYyBjbGFzcyBDbGllbnQgewoJcHJpdmF0ZSBTb2NrZXQgc29ja2V0T2ZDbGllbnQgPSBudWxsOwoJcHJpdmF0ZSBCdWZmZXJlZFJlYWRlciBpbiA9IG51bGw7Cglwcml2YXRlIEJ1ZmZlcmVkV3JpdGVyIG91dCA9IG51bGw7Cglwcml2YXRlIGZpbmFsIGludCBQT1JUID0gMTk5NTsKCXByaXZhdGUgZmluYWwgU3RyaW5nIEhPU1RfTkFNRSA9ICJsb2NhbGhvc3QiOwoJcHJpdmF0ZSBzdGF0aWMgbG9uZyB0aG9pR2lhbkd1aTsKCXB1YmxpYyB2b2lkIGNvbm5lY3QoKSB7CgkJdHJ5IHsKCQkJc29ja2V0T2ZDbGllbnQgPSBuZXcgU29ja2V0KEhPU1RfTkFNRSwgUE9SVCk7CgoJCQkvLyBraG9pIHRhbyBsdW9uZyBuaGFwIHh1YXQKCQkJaW4gPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKAoJCQkJCXNvY2tldE9mQ2xpZW50LmdldElucHV0U3RyZWFtKCkpKTsKCQkJb3V0ID0gbmV3IEJ1ZmZlcmVkV3JpdGVyKG5ldyBPdXRwdXRTdHJlYW1Xcml0ZXIoCgkJCQkJc29ja2V0T2ZDbGllbnQuZ2V0T3V0cHV0U3RyZWFtKCkpKTsKCQkJLy8gZ3VpIHlldSBjYXUgY2hvIHNlcnZlciBjdW5nIHZvaSB0aG9pIGdpYW4gZ3VpCgkJCW91dC53cml0ZSgidGltZSIpOwoJCQlvdXQubmV3TGluZSgpOwoJCQlvdXQuZmx1c2goKTsKCQkJdGhvaUdpYW5HdWkgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCQkJUHJpbnRTdHJlYW0gcHMgPSBuZXcgUHJpbnRTdHJlYW0oc29ja2V0T2ZDbGllbnQuZ2V0T3V0cHV0U3RyZWFtKCkpOwoJCQlwcy5wcmludGxuKHRob2lHaWFuR3VpKTsKCQkJLy8gbmhhbiBrZXQgcXVhIHZhIGhpZW4gdGhpIHJhOgoJCQlTdHJpbmcgcmVzdWx0ID0gaW4ucmVhZExpbmUoKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJUaG9pIGdpYW4gaGUgdGhvbmcgbGE6ICIgKyByZXN1bHQpOwoJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CgkJCS8vIFRPRE86IGhhbmRsZSBleGNlcHRpb24KCQl9Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJbmV3IENsaWVudCgpLmNvbm5lY3QoKTsKCX0KfQo=