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

Lab Program 9

Uploaded by

shilpakv2024
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Lab Program 9

Uploaded by

shilpakv2024
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

9.

Using TCP/IP sockets, write a client – server program to make the client send the file
name and to make the server send back the contents of the requested file if present.
Implement the above program using as message queues or FIFOs as IPC channels.

// server Program

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class server {

private static class ClientHandler extends Thread {

private Socket socket;

ClientHandler(Socket socket) {
System.out.println("Client connected\n");
this.socket = socket;
}

@Override
public void run() {

try {

BufferedReader reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));

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

String file=reader.readLine().trim();

System.out.println("Requeseted file is "+file+"\n");

FileReader fp2=new FileReader(file);

BufferedReader rr=new BufferedReader(fp2);

int c;
String k=null;

while((k=rr.readLine())!=null)
{

writer.println(k);
}

1
writer.close();
rr.close();

socket.close();

}
catch (IOException e)
{}

}
}

public static void main ( String[] args ) {


final int port = 9912;

try {
ServerSocket ss = new ServerSocket(port);

System.out.println("Listening ...");

while ( true ) {
Socket socket = ss.accept();
new ClientHandler(socket).start();
}

}
catch (IOException e)
{ }
}
}

//client program

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;

public class client {


public static void main (String[] args) {
Socket socket = null;
try {

2
socket = new Socket(InetAddress.getLocalHost().getHostName(), 9912);

BufferedReader reader =new BufferedReader(new


InputStreamReader(socket.getInputStream()));

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

System.out.println("Enter the file name : ");

Scanner t=new Scanner(System.in);

String file=t.nextLine();

writer.println(file);

System.out.println("reading client...");

String h=null;

while((h=reader.readLine())!=null)
System.out.println(h);
socket.close();
}
catch (IOException e)
{}

}
}

// Commands to Execute

First run FIFO server program in Terminal 1


Javac filename.java
Java filename

Then run FIFO client program in Terminal 2


Javac filename.java
Java filename

3
4

You might also like