You are on page 1of 14

CODING

Server.java

package server;
import java.awt.Color;
import java.awt.FileDialog;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.sql.*;
import java.net.*;
import java.util.Iterator;
import java.io.*;
import javax.swing.JOptionPane;

public class Server extends javax.swing.JFrame implements Runnable {

public Server() {
initComponents();

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_jButton1ActionPerformed

db = new Database();
con = db.connect();
try {
st = con.createStatement();
st.executeUpdate("delete from node");
} catch (SQLException e) {
e.printStackTrace();
}
System.exit(0);
}//GEN-LAST:event_jButton1ActionPerformed

private void btnSaveActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_btnSaveActionPerformed
db = new Database();
con = db.connect();
try {
ps = con.prepareStatement("insert into node values(?,?,?,?);");
for (int j = 0; j < i; j++) {
String name = (String) tbl.getModel().getValueAt(j, 0);
String address = (String) tbl.getModel().getValueAt(j, 1);
String strport = tbl.getModel().getValueAt(j, 2) + "";
int port = Integer.parseInt(strport.trim());
String cluster = (String) tbl.getModel().getValueAt(j, 3);
ps.setString(1, name);
ps.setString(2, address);
ps.setInt(3, port);
ps.setString(4, cluster);
ps.executeUpdate();
System.out.println("Node details will be inserted");
}
JOptionPane.showMessageDialog(this, "All the Node details are stored
in the database....!");
} catch (SQLException e) {
e.printStackTrace();
}
}//GEN-LAST:event_btnSaveActionPerformed

private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_jMenu1ActionPerformed
}//GEN-LAST:event_jMenu1ActionPerformed

private void mnuSendActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_mnuSendActionPerformed

ArrayList name = new ArrayList();


ArrayList data = new ArrayList();

String clusterName = JOptionPane.showInputDialog("Please Enter Cluster


Name...!");

db = new Database();
con = db.connect();
try {
st = con.createStatement();
rs = st.executeQuery("select * from node where cluster='" +
clusterName + "';");
while (rs.next()) {
name.add(rs.getString(1));
}
rs.close();
ArrayList message = Robber(txtFile.getText(), name.size());
System.out.println(message);

if (!(name.isEmpty())) {
}
} catch (SQLException e) {
e.printStackTrace();
}

}//GEN-LAST:event_mnuSendActionPerformed

private void mnuExitActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_mnuExitActionPerformed
}//GEN-LAST:event_mnuExitActionPerformed

private void btnBrowseActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_btnBrowseActionPerformed
FileDialog fd = new FileDialog(this, "Open");
fd.show(true);
String dir = fd.getDirectory();
String file = fd.getFile();
txtFile.setText(dir + file);
}//GEN-LAST:event_btnBrowseActionPerformed

public void run() {


while (true) {
try {
socket = server.accept();
String name = socket.getInetAddress().getHostName();
String address = socket.getInetAddress().getHostAddress();
ObjectInputStream ois = new
ObjectInputStream(socket.getInputStream());
java.util.List l = (java.util.List) ois.readObject();
int port = Integer.parseInt((String) l.get(0));
System.out.println(socket.getInetAddress().getHostName() + " was
Accepted by Server");

tbl.getModel().setValueAt(name, i, 0);
tbl.getModel().setValueAt(address, i, 1);
tbl.getModel().setValueAt(port, i, 2);
i++;

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

public static void main(String args[]) {


java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {


Server ser = new Server();
ser.setVisible(true);
ser.connection();
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnBrowse;
private javax.swing.JButton btnSave;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel3;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel4;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JMenuItem mnuExit;
private javax.swing.JMenuItem mnuSend;
private javax.swing.JTable tbl;
private javax.swing.JTextField txtFile;
// End of variables declaration//GEN-END:variables
ServerSocket server;
Socket socket;
Thread t;
int i = 0;
Connection con;
PreparedStatement ps;
Statement st;
ResultSet rs;
Database db;

void connection() {
try {
System.out.println("\t\t***************");
System.out.println("\t\tServer Details");
System.out.println("\t\t***************");
server = new ServerSocket(100);

System.out.println("*** Server is running on the port 100 ****");

t = new Thread(this);
t.start();
} catch (IOException e) {
e.printStackTrace();
}
}

public ArrayList Robber(String path, int count) {


ArrayList message = new ArrayList();
int temp = 0;
try {
FileInputStream fis = new FileInputStream(txtFile.getText());
int length = fis.available();
byte buffer[] = new byte[length];
fis.read(buffer);
int block = length / count;
while (temp < length) {
String str = new String(buffer, temp, block);
message.add(str);
temp = temp + block;

}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(message);
return message;
}
}

Database.java

package server;
import java.sql.*;

public class Database {

Connection con;

Connection connect(){
try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:multicast");
System.out.println("Database Connection success");

}
catch(Exception e){
System.out.println("*** Connection Error ***");
}
return con;
}
}

Node.java

package client;
import javax.swing.*;
import java.awt.FileDialog;
import java.io.*;
import java.awt.*;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JColorChooser;
import java.util.*;
import javax.swing.ListModel;

public class Node extends javax.swing.JFrame implements Runnable {

public Node() {
initComponents();

/** This method is called from within the constructor to


* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/

private void formWindowActivated(java.awt.event.WindowEvent evt)


{//GEN-FIRST:event_formWindowActivated
jLabel1.setIcon(new javax.swing.ImageIcon("GC02.png"));

}//GEN-LAST:event_formWindowActivated
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_jMenuItem6ActionPerformed
txtMessage.setText(null);
}//GEN-LAST:event_jMenuItem6ActionPerformed

private void mnuExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_mnuExitActionPerformed
System.exit(0);
}//GEN-LAST:event_mnuExitActionPerformed

private void mnuOpenActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_mnuOpenActionPerformed
FileDialog fd = new FileDialog(this, "Open");
fd.show();
File f = new File(fd.getDirectory() + fd.getFile());
try {
FileInputStream fis = new FileInputStream(f);
int avail = fis.available();
byte b[] = new byte[avail];
fis.read(b);
String str = new String(b).trim();
txtMessage.setText(str);
} catch (Exception e) {
System.out.println(e);
}
}//GEN-LAST:event_mnuOpenActionPerformed

private void mnuSaveActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_mnuSaveActionPerformed

String str = txtMessage.getText();


byte buffer[] = str.getBytes();
FileDialog fd = new FileDialog(this, "Save", 1);
fd.show();
File f = new File(fd.getDirectory() + fd.getFile());
try {
FileOutputStream fos = new FileOutputStream(f);
fos.write(buffer);
System.out.println("File created");
} catch (Exception e) {
}
}//GEN-LAST:event_mnuSaveActionPerformed

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_jMenuItem1ActionPerformed
Color c = jPanel1.getBackground();
c = JColorChooser.showDialog(this, "Color Chooser", c);
if (c == null) {
} else {
jPanel1.setBackground(c);
jPanel1.repaint();
}
}//GEN-LAST:event_jMenuItem1ActionPerformed

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_jMenuItem2ActionPerformed
Color c = txtMessage.getForeground();
c = JColorChooser.showDialog(this, "Color Chooser", c);
if (c == null) {
} else {
txtMessage.setForeground(c);
txtMessage.repaint();
}
}//GEN-LAST:event_jMenuItem2ActionPerformed

private void jComboBox2ItemStateChanged(java.awt.event.ItemEvent evt)


{//GEN-FIRST:event_jComboBox2ItemStateChanged
}//GEN-LAST:event_jComboBox2ItemStateChanged

private void btnSendActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_btnSendActionPerformed
}//GEN-LAST:event_btnSendActionPerformed

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_jMenuItem3ActionPerformed
}//GEN-LAST:event_jMenuItem3ActionPerformed

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt)


{//GEN-FIRST:event_jMenuItem5ActionPerformed
System.exit(0);
}//GEN-LAST:event_jMenuItem5ActionPerformed

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {


Node n = new Node();
n.show1();
n.setBounds(100, 30, 913, 655);
n.setVisible(true);
TimeThread t = new TimeThread();
n.connection();
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnSend;
static javax.swing.JComboBox jComboBox1;
static javax.swing.JComboBox jComboBox2;
private javax.swing.JLabel jLabel1;
public static javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JMenuItem jMenuItem4;
private javax.swing.JMenuItem jMenuItem5;
private javax.swing.JMenuItem jMenuItem6;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JPopupMenu.Separator jSeparator1;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JMenuItem mnuOpen;
private javax.swing.JMenuItem mnuSave;
javax.swing.JTextArea txtMessage;
private javax.swing.JTextArea txtReceive;
// End of variables declaration//GEN-END:variables
ServerSocket server;
Socket socket;
Thread t;
int port;
String host;

void connection() {
try {
System.out.println("\t\t***************");
System.out.println("\t\tNode Details");
System.out.println("\t\t***************");
socket = new Socket(host, 100);
ObjectOutputStream oos = new
ObjectOutputStream(socket.getOutputStream());
ArrayList l = new ArrayList();
l.add(String.valueOf(port));
oos.writeObject(l);
server = new ServerSocket();

System.out.println("*** Node is running on the port "+port+"*****");

t = new Thread(this);
t.start();
} catch (IOException e) {
e.printStackTrace();
}
}
public void run() {
try {
server = new ServerSocket(port);
while (true) {
Socket soc = server.accept();
ObjectInputStream ois = new ObjectInputStream(soc.getInputStream());
ArrayList al = (ArrayList) ois.readObject();
String s = (String) al.get(0);
if (s.equals("server")) {
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

public void show1() {


host = JOptionPane.showInputDialog("Enter serevr host here....");
port = Integer.parseInt(JOptionPane.showInputDialog("Enter Port number"));
}
}

class TimeThread implements Runnable {

Thread t;

public TimeThread() {
t = new Thread(this);
t.start();

public void run() {


while (true) {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy
HH:mm:ss");
Date date = new Date();
Calendar cal = Calendar.getInstance();
Node.jLabel2.setText(dateFormat.format(cal.getTime()));
}

You might also like