0% found this document useful (0 votes)
62 views5 pages

2019wb86174 CSIWZC467 Assignment

1. The document provides an algorithm and Java program for creating a socket for HTTP to upload and download web pages between a client and server. 2. The client program reads an image file, sends it to the server as a byte array, and closes the connection. 3. The server program receives the byte array, writes it back to a BufferedImage, displays the image in a JFrame, and closes the connection.

Uploaded by

Sathya Narayanan
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)
62 views5 pages

2019wb86174 CSIWZC467 Assignment

1. The document provides an algorithm and Java program for creating a socket for HTTP to upload and download web pages between a client and server. 2. The client program reads an image file, sends it to the server as a byte array, and closes the connection. 3. The server program receives the byte array, writes it back to a BufferedImage, displays the image in a JFrame, and closes the connection.

Uploaded by

Sathya Narayanan
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/ 5

ASSIGNMENT

CSIWZC467

COMPUTER NETWORKS

GROUP NO. 05

Kaviyarasan J

Revathi K

Pavithra S

----------------------------------------------------------------------------------------------------------------

Question:

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
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);

You might also like