((long)(is.readUnsignedByte() & 0xff) << 24) | ((long)(is.readUnsignedByte() & 0xff) << 16) | ((long)(is.readUnsignedByte() & 0xff) <<  8) | ((long)(is.readUnsignedByte() & 0xff) <<  0));
((long)(is.readUnsignedByte()) << 24) | ((long)(is.readUnsignedByte()) << 16) | ((long)(is.readUnsignedByte()) <<  8) | ((long)(is.readUnsignedByte()) <<  0));
	public static void main(String[] argv) {		String hostName;		if (argv.length == 0)			hostName = "localhost";		else			hostName = argv[0];		try {			Socket sock = new Socket(hostName, TIME_PORT);			DataInputStream is = new DataInputStream(new 				BufferedInputStream(sock.getInputStream()));			// Need to read 4 bytes from the network, unsigned.			// Do it yourself; there is no readUnsignedInt().			// Long is 8 bytes on Java, but we are using the			// existing daytime protocol, which uses 4-byte ints.			long remoteTime = (				((long)(is.readUnsignedByte() & 0xff) << 24) |				((long)(is.readUnsignedByte() & 0xff) << 16) |				((long)(is.readUnsignedByte() & 0xff) <<  8) |				((long)(is.readUnsignedByte() & 0xff) <<  0));			System.out.println("Remote time is " + remoteTime);			System.out.println("BASE_DIFF is " + BASE_DIFF);			System.out.println("Time diff == " + (remoteTime - BASE_DIFF));			Date d = new Date((remoteTime - BASE_DIFF) * MSEC);			System.out.println("Time on " + hostName + " is " + d.toString());		} catch (IOException e) {			System.err.println(e);		}	}