Create A Socket For HTTP For Web Page Upload and Download

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Create a socket for HTTP for web page upload and download.

Aim:

To write a java program for socket for HTTP for web page upload and download .

Algorithm

1.Start the program.

2.Get the frame size from the user

3.To create the frame based on the user request.

4.To send frames to server from the client side.

5.If your frames reach the server it will send ACK signal to client otherwise it will send NACK signal to
client.

6.Stop the program

Program :

Client
/* Client Side Program for File Upload and Download */

import javax.swing.*;

import java.net.*;

import java.awt.image.*;

import javax.imageio.*;

import java.io.*;

import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File;

import java.io.IOException; import javax.imageio.ImageIO;

public class Client{

public static void main(String args[]) throws Exception{ Socket soc;

BufferedImage img = null;

soc = new Socket("localhost",4000);


System.out.println("Client is running. ");

try {

System.out.println("Reading image from disk. ");

img = ImageIO.read(new File("digital_image_processing.jpg")); ByteArrayOutputStream baos = new


ByteArrayOutputStream();

ImageIO.write(img, "jpg", baos);

baos.flush();

byte[] bytes = baos.toByteArray(); baos.close();

System.out.println("Sending image to server. ");

OutputStream out = soc.getOutputStream();

DataOutputStream dos = new DataOutputStream(out);

dos.writeInt(bytes.length);

dos.write(bytes, 0, bytes.length);

System.out.println("Image sent to server. ");

dos.close();

out.close();

}catch (Exception e) { System.out.println("Exception: " + e.getMessage());

soc.close();

soc.close();

Server

import java.net.*;

import java.io.*;
import java.awt.image.*;

import javax.imageio.*;

import javax.swing.*;

class Server {

public static void main(String args[]) throws Exception{

ServerSocket server=null;

Socket socket;

server=new ServerSocket(4000);

System.out.println("Server Waiting for image");

socket=server.accept(); System.out.println("Client connected.");

InputStream in = socket.getInputStream();

DataInputStream dis = new DataInputStream(in);

int len = dis.readInt();

System.out.println("Image Size: " + len/1024 + "KB"); byte[] data = new byte[len];

dis.readFully(data);

dis.close();

in.close();

InputStream ian = new ByteArrayInputStream(data);

BufferedImage bImage = ImageIO.read(ian);

JFrame f = new JFrame("Server");

ImageIcon icon = new ImageIcon(bImage);

JLabel l = new JLabel();

l.setIcon(icon);
f.add(l);

f.pack();

f.setVisible(true);

Output

When you run the client code, following output screen would appear on client side.

You might also like