Network Programming LAB REPORT
Network Programming LAB REPORT
www.google.com:
import java.net.InetAddress;
import java.net.UnknownHostException;
try {
System.out.println("Protocol: HTTP");
} catch (UnknownHostException e) {
e.printStackTrace();
}
2)Print all the network interfaces available in a machine:
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
try {
while (networks.hasMoreElements()) {
} catch (SocketException e) {
e.printStackTrace();
}
3) Get the network interface associated with 127.0.0.1 and print its short and full name:
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
try {
while (interfaces.hasMoreElements()) {
} catch (Exception e) {
e.printStackTrace();
}
4) Print the localhost of a system and get the network interface of
localhost:
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
try {
while (interfaces.hasMoreElements()) {
} catch (Exception e) {
e.printStackTrace();
}
5) Check if a given IP address is marked as a spammer or is legit:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
try {
connection.setRequestMethod("GET");
String responseLine;
System.out.println(responseLine);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
6) Test whether a URL is reachable through a given network interface
within 2 seconds:
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.URL;
import java.util.Enumeration;
try {
connection.setConnectTimeout(2000); // 2 seconds
connection.connect();
connection.disconnect();
} catch (IOException e) {
}
7) Check if an IP address is IPv4 or IPv6:
import java.net.InetAddress;
import java.net.UnknownHostException;
try {
if (address.getAddress().length == 4) {
} else {
} catch (UnknownHostException e) {
e.printStackTrace();
}
8) Print the IP address and MAC address of any system:
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
try {
while (interfaces.hasMoreElements()) {
while (addresses.hasMoreElements()) {
if (!address.isLoopbackAddress()) {
if (mac != null) {
macAddress.append(String.format("%02X:", b));
if (macAddress.length() > 0) {
macAddress.deleteCharAt(macAddress.length() - 1);
}
}
} catch (SocketException e) {
e.printStackTrace();
}
9) Minimal processing of a web log:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
String line;
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
}
10) Print scheme, authority, port, path, section, and query string of a URL:
import java.net.URI;
import java.net.URISyntaxException;
try {
} catch (URISyntaxException e) {
e.printStackTrace();
}
11) Resolve a URI and a path to form a complete URI:
import java.net.URI;
import java.net.URISyntaxException;
try {
} catch (URISyntaxException e) {
e.printStackTrace();
}
12) Encode and decode a string:
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.net.URLDecoder;
try {
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
13) Print the last modified date, content length, and content type of a URL:
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
try {
connection.setRequestMethod("GET");
connection.connect();
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
14) Create cookies for example.com and store them in a cookie store:
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.HttpCookie;
import java.net.CookieManager;
import java.net.CookieStore;
import java.util.List;
try {
connection.setRequestMethod("GET");
// Create cookies
cookieStore.add(url.toURI(), cookie1);
cookieStore.add(url.toURI(), cookie2);
// Print cookies
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
15) Print all headers and their values from an HTTP response:
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
try {
connection.setRequestMethod("GET");
connection.connect();
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
try {
String line;
System.out.println(line);
reader.close();
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
17) Read from a socket:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
String line;
} catch (IOException e) {
e.printStackTrace();
}
18) Create a server socket and print a log message when a client connects:
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
while (true) {
} catch (IOException e) {
e.printStackTrace();
}
19) Multithreaded client-server program for daytime service:
Server:
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
while (true) {
} catch (IOException e) {
e.printStackTrace();
DaytimeHandler(Socket socket) {
this.socket = socket;
}
@Override
out.flush();
} catch (IOException e) {
e.printStackTrace();
Client:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.Socket;
} catch (IOException e) {
e.printStackTrace();
}
20) Multithreaded client-server program for daytime service with a thread
pool of 50:
Server:
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
while (true) {
pool.execute(new DaytimeHandler(clientSocket));
} catch (IOException e) {
e.printStackTrace();
} finally {
pool.shutdown();
}
}
DaytimeHandler(Socket socket) {
this.socket = socket;
@Override
out.flush();
} catch (IOException e) {
e.printStackTrace();
21) Create a secure client socket to read from a secure server socket:
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
String line;
System.out.println(line);
in.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
22) Create a UDP client-socket echo program:
Client:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
socket.send(sendPacket);
socket.receive(receivePacket);
} catch (IOException e) {
e.printStackTrace();
Server:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
socket.receive(receivePacket);
socket.send(sendPacket);
} catch (IOException e) {
e.printStackTrace();