DarkWebCode is a place where you can find a lot of exciting and inspiring stuff about Web Development, Blogging, SEO and many more

Breaking

Create a socket for HTTP for web page upload and download

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


Output

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