0% found this document useful (0 votes)
1 views

DCPrac3

The document contains Java code for five server classes (Server1 to Server5) that listen on the same port (5002) and send messages to a list of predefined IP addresses. Each server class implements a listener that accepts incoming connections and prints received messages. The servers send a greeting message to each IP in their respective lists after a brief delay.

Uploaded by

Nick Diwakar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

DCPrac3

The document contains Java code for five server classes (Server1 to Server5) that listen on the same port (5002) and send messages to a list of predefined IP addresses. Each server class implements a listener that accepts incoming connections and prints received messages. The servers send a greeting message to each IP in their respective lists after a brief delay.

Uploaded by

Nick Diwakar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

DC Experiment 3

Server1.java:
import java.io.*;

import java.net.*;

public class Server1 {

public static final int LISTENING_PORT = 5002;

public static final String[] SERVER_IPS = {"192.168. 45.101", "192.168.1.67", "192.168.1.89",


"192.168.1.121"};

public static void main(String[] args) {

new Thread(new Listener(LISTENING_PORT, "Server1")).start();

try { Thread.sleep(2000); } catch(InterruptedException e) { }

for (String ip : SERVER_IPS) {

sendMessage(ip, LISTENING_PORT, "Hello from Server1!", "Server1");

public static void sendMessage(String serverIp, int serverPort, String message, String sender) {

try (Socket socket = new Socket(serverIp, serverPort);

DataOutputStream dos = new DataOutputStream(socket.getOutputStream())) {

dos.writeUTF(message);

dos.flush();

System.out.println(sender + " Sent message to -> " + serverIp);

} catch(IOException e) {

System.out.println(sender + " Error sending message to " + serverIp);

static class Listener implements Runnable {

private int port;

private String serverName;

public Listener(int port, String serverName) {

this.port = port;

this.serverName = serverName;

}
public void run() {

try (ServerSocket serverSocket = new ServerSocket(port)) {

while (true) {

try (Socket clientSocket = serverSocket.accept();

DataInputStream dis = new DataInputStream(clientSocket.getInputStream())) {

String msg = dis.readUTF();

System.out.println(serverName + " Received message: " + msg);

} catch(IOException e) {

System.out.println(serverName + " Error in connection");

} catch(IOException e) {

System.out.println(serverName + " Could not start server");

Output:
Server2.java:
import java.io.*;

import java.net.*;

public class Server2 {

public static final int LISTENING_PORT = 5002;

public static final String[] SERVER_IPS = {"192.168.0.123", "192.168.1.67", "192.168.1.89",


"192.168.1.121"};

public static void main(String[] args) {

new Thread(new Listener(LISTENING_PORT, "Server2")).start();

try { Thread.sleep(2000); } catch(InterruptedException e) { }

for (String ip : SERVER_IPS) {

sendMessage(ip, LISTENING_PORT, "Hello from Server2!", "Server2");

public static void sendMessage(String serverIp, int serverPort, String message, String sender) {

try (Socket socket = new Socket(serverIp, serverPort);

DataOutputStream dos = new DataOutputStream(socket.getOutputStream())) {

dos.writeUTF(message);

dos.flush();

System.out.println(sender + " Sent message to -> " + serverIp);

} catch(IOException e) {

System.out.println(sender + " Error sending message to " + serverIp);

static class Listener implements Runnable {

private int port;

private String serverName;

public Listener(int port, String serverName) {

this.port = port;

this.serverName = serverName;

public void run() {

try (ServerSocket serverSocket = new ServerSocket(port)) {


while (true) {

try (Socket clientSocket = serverSocket.accept();

DataInputStream dis = new DataInputStream(clientSocket.getInputStream())) {

String msg = dis.readUTF();

System.out.println(serverName + " Received message: " + msg);

} catch(IOException e) {

System.out.println(serverName + " Error in connection");

} catch(IOException e) {

System.out.println(serverName + " Could not start server");

Output:
Server3.java:
import java.io.*;

import java.net.*;

public class Server3 {

public static final int LISTENING_PORT = 5002;

public static final String[] SERVER_IPS = {"192.168.0.123", "192.168. 45.101", "192.168.1.89",


"192.168.1.121"};

public static void main(String[] args) {

new Thread(new Listener(LISTENING_PORT, "Server3")).start();

try { Thread.sleep(2000); } catch(InterruptedException e) { }

for (String ip : SERVER_IPS) {

sendMessage(ip, LISTENING_PORT, "Hello from Server3!", "Server3");

public static void sendMessage(String serverIp, int serverPort, String message, String sender) {

try (Socket socket = new Socket(serverIp, serverPort);

DataOutputStream dos = new DataOutputStream(socket.getOutputStream())) {

dos.writeUTF(message);

dos.flush();

System.out.println(sender + " Sent message to -> " + serverIp);

} catch(IOException e) {

System.out.println(sender + " Error sending message to " + serverIp);

static class Listener implements Runnable {

private int port;

private String serverName;

public Listener(int port, String serverName) {

this.port = port;

this.serverName = serverName;

public void run() {

try (ServerSocket serverSocket = new ServerSocket(port)) {

while (true) {
try (Socket clientSocket = serverSocket.accept();

DataInputStream dis = new DataInputStream(clientSocket.getInputStream())) {

String msg = dis.readUTF();

System.out.println(serverName + " Received message: " + msg);

} catch(IOException e) {

System.out.println(serverName + " Error in connection");

} catch(IOException e) {

System.out.println(serverName + " Could not start server");

Output:
Server4.java:
public class Server4 {

public static final int LISTENING_PORT = 5002;

public static final String[] SERVER_IPS = {"192.168.0.123", "192.168. 45.101", "192.168.1.67",


"192.168.1.121"};

public static void main(String[] args) {

new Thread(new Listener(LISTENING_PORT, "Server4")).start();

try { Thread.sleep(2000); } catch(InterruptedException e) { }

for (String ip : SERVER_IPS) {

sendMessage(ip, LISTENING_PORT, "Hello from Server4!", "Server4");

public static void sendMessage(String serverIp, int serverPort, String message, String sender) {

try (Socket socket = new Socket(serverIp, serverPort);

DataOutputStream dos = new DataOutputStream(socket.getOutputStream())) {

dos.writeUTF(message);

dos.flush();

System.out.println(sender + " Sent message to -> " + serverIp);

} catch(IOException e) {

System.out.println(sender + " Error sending message to " + serverIp);

static class Listener implements Runnable {

private int port;

private String serverName;

public Listener(int port, String serverName) {

this.port = port;

this.serverName = serverName;

public void run() {

try (ServerSocket serverSocket = new ServerSocket(port)) {

while (true) {

try (Socket clientSocket = serverSocket.accept();

DataInputStream dis = new DataInputStream(clientSocket.getInputStream())) {

String msg = dis.readUTF();


System.out.println(serverName + " Received message: " + msg);

} catch(IOException e) {

System.out.println(serverName + " Error in connection");

} catch(IOException e) {

System.out.println(serverName + " Could not start server");

Output:
Server5.java:
import java.io.*;

import java.net.*;

public class Server5 {

public static final int LISTENING_PORT = 5002;

public static final String[] SERVER_IPS = {"192.168.0.123", "192.168. 45.101", "192.168.1.67",


"192.168.1.89"};

public static void main(String[] args) {

new Thread(new Listener(LISTENING_PORT, "Server5")).start();

try { Thread.sleep(2000); } catch(InterruptedException e) { }

for (String ip : SERVER_IPS) {

sendMessage(ip, LISTENING_PORT, "Hello from Server5!", "Server5");

public static void sendMessage(String serverIp, int serverPort, String message, String sender) {

try (Socket socket = new Socket(serverIp, serverPort);

DataOutputStream dos = new DataOutputStream(socket.getOutputStream())) {

dos.writeUTF(message);

dos.flush();

System.out.println(sender + " Sent message to -> " + serverIp);

} catch(IOException e) {

System.out.println(sender + " Error sending message to " + serverIp);

static class Listener implements Runnable {

private int port;

private String serverName;

public Listener(int port, String serverName) {

this.port = port;

this.serverName = serverName;

public void run() {

try (ServerSocket serverSocket = new ServerSocket(port)) {

while (true) {
try (Socket clientSocket = serverSocket.accept();

DataInputStream dis = new DataInputStream(clientSocket.getInputStream())) {

String msg = dis.readUTF();

System.out.println(serverName + " Received message: " + msg);

} catch(IOException e) {

System.out.println(serverName + " Error in connection");

} catch(IOException e) {

System.out.println(serverName + " Could not start server");

Output:

You might also like