You are on page 1of 13

Winter Semester 2023 - 24

Assessment-2
Name: S.R.Shreeram
REGNO:22MIS0312
Course: Computer Networks
Course Code:SWE3002
Slot:L51+52

Cycle Sheet-1
6.Write a program to display the client address at the
server end.
Server Code:
import java.io.*;

import java.net.*;

public class TCPServer {

public static void main(String[] args) {

try {

ServerSocket serverSocket = new ServerSocket(5000);

System.out.println("Server waiting for connections...");

Socket clientSocket = serverSocket.accept();

InetAddress clientAddress = clientSocket.getInetAddress();

System.out.println("Connection established with client at: " +clientAddress);

BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));


PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);

String message;

while ((message = in.readLine()) != null) {

System.out.println("Client: " + message);

in.close();

out.close();

clientSocket.close();

serverSocket.close();

} catch(IOException e) {

e.printStackTrace();

Client Code:
import java.io;

import java.net*;

class TCPClient

public static void main(String args[]) throws Excep on

Socket soc = new Socket(InetAddress.getLocalHost(),5000);

BufferedReader in=new BufferedReader(new

InputStreamReader(soc.getInputStream()));

System.out.println(in.readLine());

soc.close();
}

7. Implement a simple message transfer from client to


server process using TCP/IP.
Server Code:
import java.io.*;

import java.net.*;

public class TCPServer {

public static void main(String[] args) {

try {

ServerSocket serverSocket = new ServerSocket(5000);

Socket clientSocket = serverSocket.accept();

System.out.println("Connection established with client.");

BufferedReader in = new BufferedReader(new


InputStreamReader(clientSocket.getInputStream()));

PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);

String message;

while ((message = in.readLine()) != null) {

System.out.println("Client: “ + message);

in.close();

out,close();

clientSocket.close();

serverSocket.close();

}catch(IOException e) {

e.printStackTrace();

}
}

Client Code:
import java.io.*;

import java.net.*;

public class TCPClient {

public static void main(String[] args) {

try {

Socket socket = new Socket("localhost", 5000);

System.out.println("Connected to server.");

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

String message;
do {

System.out.println("You: ");
message = in.readLine();

out.println(message);
} while (!message.equals("bye"));

in.close();

out.close();

socket.close();

} catch (IOException e)

e.printStackTrace();

}
}

8.Develop a TCP client/server applica on for transferring


a text file from client to server
Server Code:
import java.io.*;

import java.net.*;

public class TCPServer {

public static void main(String[] args) {

try {

ServerSocket serverSocket = new ServerSocket(5000);

System.out.println("Server wai ng for connec ons...");

Socket clientSocket = serverSocket.accept();

System.out.println("Connection established with client.");

InputStream inputStream = clientSocket.getInputStream();

FileOutputStream fileOutputStream = new FileOutputStream("JAVA/received_file.txt");

byte[] buffer = new byte[1024];

int bytesRead;

while ((bytesRead = inputStream.read(buffer)) != -1) {


fileOutputStream.write(buffer, 0, bytesRead);

System.out.println("File received successfully.");

fileOutputStream.close();

inputStream.close();
clientSocket.close();

serverSocket.close(); } catch (IOExcep on e) {

e.printStackTrace();

Client Code:
import java.io.*;

import java.net.*;

public class TCPClient {

public static void main(String[] args) {

try {

Socket socket = new Socket("localhost", 5000);

System.out.println("Connected to server.");

FileInputStream fileInputStream = new FileInputStream("JAVA/testout.txt");


OutputStream outputStream = socket.getOutputStream();

byte[] buffer = new byte[1024];


int bytesRead;

while ((bytesRead = fileInputStream.read(buffer)) != -1)


{ outputStream.write(buffer, 0, bytesRead);

System.out.println("File sent successfully.");

fileInputStream.close();

outputStream.close();

socket.close();

} catch (IOException e) {
e.printStackTrace();

Before running code

After running code

9.Implement a TCP-based server program to

authenticate the client’s Username and Password.

The validity of the client must be sent as the reply

message to the client and displayed it on the

standard output.

Server Code:
import java.io.*;
import java.net.*;

public class TCPServer {

private static final String VALID_USERNAME = "user123";

private static final String VALID_PASSWORD = "pass123";

public static void main(String[] args) {

try {

ServerSocket serverSocket = new ServerSocket(5000);

System.out.println("Server waiting for connections...");

Socket clientSocket = serverSocket.accept();

System.out.println("Connection on established with client.");

BufferedReader in = new BufferedReader(new


InputStreamReader(clientSocket.getInputStream()));

PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);

String username = in.readLine();


String password = in.readLine();

boolean isAuthenticated = authenticate(username, password);

if (isAuthenticated) {

System.out.println("Client authenticated successfully: " + username);

} else {

System.out.println("Authentication on failed. Invalid username or password.");

System.out.println("Authentication on failed for client: " + username);

in.close();

out.close();

clientSocket.close();

serverSocket.close();

} catch (IOException e) {

e.printStackTrace();
}

private static boolean authenticate(String username, String password) {

return username.equals(VALID_USERNAME) &&

password.equals(VALID_PASSWORD);

Client Code:
import java.io.*;

import java.net.*;

public class TCPClient {

public static void main(String[] args) {

try {

Socket socket = new Socket("localhost", 5000);

System.out.println("Connected to server.");

BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));

PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

BufferedReader in = new BufferedReader(new


InputStreamReader(socket.getInputStream()));

System.out.print("Enter username: ");

String username = userInput.readLine();

System.out.print("Enter password: ");

String password = userInput.readLine();

System.out.println(username);

System.out.println(password);

String validationMessage = in.readLine();


System.out.println("Server: " + validationMessage);

userInput.close();

out.close();

in.close();

socket.close();

} catch (IOExcep on e) {

e.printStackTrace();

10. Write a program to develop a simple (text-based)


Chat application using TCP/IP.
Server Code:
import java.io.*;

import java.net.*;

public class TCPServer {

public static void main(String[] args) {

try {

ServerSocket serverSocket = new ServerSocket(5000);

System.out.println("Server waiting for connections...");

Socket clientSocket = serverSocket.accept();

System.out.println("Connection established with client.");

BufferedReader in = new BufferedReader(new


InputStreamReader(clientSocket.getInputStream()));

PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);

Thread receiveThread = new Thread(() -> {

try {

String receivedMessage;

while ((receivedMessage = in.readLine()) != null)

System.out.println("Client: " + receivedMessage);

} catch (IOException e) {

e.printStackTrace();

});

receiveThread.start();

BufferedReader serverInput = new BufferedReader(new InputStreamReader(System.in));

String serverMessage;
while (true) {

serverMessage = serverInput.readLine();

out.println(serverMessage);

} catch (IOException e) {

e.printStackTrace();

}
Client Code:
import java.io.*;

import java.net.*;

public class TCPClient {

public static void main(String[] args) {

try {

Socket socket = new Socket("localhost", 5000);

System.out.println("Connected to server.");

BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));

PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

BufferedReader in = new
BufferedReader(newInputStreamReader(socket.getInp
utStream()));

Thread receiveThread = new Thread(() -> {

try {

String receivedMessage;

while ((receivedMessage = in.readLine()) != null{


System.out.println("Server: " + receivedMessage);

} catch (IOException e) {

e.printStackTrace();

});

receiveThread.start();
String clientMessage;

while (true) {

clientMessage = userInput.readLine();

out.println(clientMessage);

} catch (IOException e) {

e.printStackTrace();

You might also like