01: //***** try cesium.clock.org as host 02: import java.net.Socket; 03: import java.io.IOException; 04: import java.io.InputStream; 05: public class DayTime { 06: public static void main(String[ ] args) { 07: if (args.length < 1) { 08: System.err.println("Usage: DayTime <IP address>"); 09: return; 10: } 11: try { 12: // Port 13 is the well known for daytime 13: Socket sock = new Socket(args[0], 13); 14: 15: // Get the socket's associated input stream 16: InputStream in = sock.getInputStream(); 17: 18: // Read the bytes sent by remote host. 19: byte[ ] bytes = new byte[256]; 20: int next_byte = -1; 21: int i = 0; 22: while ((next_byte = in.read()) != -1 && i < bytes.length) 23: bytes[i++] = (byte) next_byte; 24: // Close the socket, which closes the input stream. 25: sock.close(); 26: 27: // Print the bytes separately and as a string. 28: int n = i; 29: System.out.println("\nThe bytes:"); 30: for (i = 0; i < n; i++) 31: System.out.print(bytes[i] + " "); 32: System.out.println("\n\nBytes as a string:\n" 33: + new String(bytes)); 34: } 35: // UnknownHostException extends IOException 36: catch(IOException e) { 37: System.err.println(e); 38: } 39: } 40: } 41: /* Output from a sample run: 42: The bytes: 43: 70 114 105 32 77 97 114 32 50 56 32 49 50 58 51 54 58 52 57 32 50 48 48 51 44: 13 10 45: 46: The bytes as string characters: (if the server sent ASCII bytes). 47: Fri Mar 28 12:36:49 2003\r\n 48: */ 49: //**********************************************************************************