Showing posts with label Network Application. Show all posts
Showing posts with label Network Application. Show all posts

Sunday, September 7, 2008 | | 3 comments

Into GUI Java Network Chat

Finally I managed to make a simple GUI Java Network Chat Work.

  • It is two way. I meant client-server. Earlier I did a client to server messaging application.
  • Connection is given inside the code itself. Its temporarily given as localhost. You can make it work in any LAN by substituting it with clients IP address.
  • You will find many errors with this. Yet this will atleast teach you how not to programin JAVA. ;)
Code given here:
client.java

import java.net.*;
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;

class client extends JFrame implements ActionListener
{

Socket soc=null;
PrintWriter pr=null;
DataInputStream din =null;

JPanel panel1=new JPanel();
JButton button1=new JButton("Send");
JTextArea text1=new JTextArea(20,30);
JTextArea text2=new JTextArea(5,30);


class msgs implements Runnable
{
Thread t=null;
msgs()
{
t=new Thread(this);
t.start();
}
public void run()
{
while(true){
try{

text1.setText(text1.getText()+din.readLine());
}catch(Exception ae){}
}
}
}



client()
{
try{
soc=new Socket("localhost",2008);
din= new DataInputStream(soc.getInputStream());
pr=new PrintWriter(soc.getOutputStream(),true);

panel1.setLayout(null);
setLayout(new BorderLayout());
text1.setBounds(5,5,200,200);
text2.setBounds(5,210,200,50);
button1.setBounds(5,290,200,50);
panel1.add(text1);
panel1.add(text2);
panel1.add(button1);
getContentPane().add(panel1);
button1.addActionListener(this);

msgs m = new msgs();
}catch(Exception e){}


}

public void actionPerformed(ActionEvent ae)
{
if(ae.getActionCommand().equals("Send"))
{

pr.println("Client: "+text2.getText());
text1.setText(text1.getText()+ "\nClient: "+text2.getText());
}
}
public static void main(String args[])
{
client client1=new client();
client1.setSize(250,400);
client1.setVisible(true);
}
}



server.java:

import java.net.*;
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;

class server extends JFrame implements ActionListener
{

ServerSocket servSoc = null;
Socket soc=null;
DataInputStream din=null;
PrintWriter pr = null;

JPanel panel1=new JPanel();
JButton button1=new JButton("Send");
JTextArea text1=new JTextArea(20,30);
JTextArea text2=new JTextArea(5,30);

class readMsg implements Runnable
{
Thread t=null;

readMsg()
{
t=new Thread(this);
t.start();
}
public void run()
{
while(true){
try{
text1.setText(text1.getText()+din.readLine());
}catch(Exception e){}
}
}
}

server()
{
super("Server");
try{


servSoc=new ServerSocket(2008);


panel1.setLayout(null);
setLayout(new BorderLayout());
text1.setBounds(5,5,200,200);
text2.setBounds(5,210,200,50);
button1.setBounds(5,290,200,50);
panel1.add(text1);
panel1.add(text2);
panel1.add(button1);
getContentPane().add(panel1);

setSize(250,400);
setVisible(true);

button1.addActionListener(this);

soc=servSoc.accept();
din= new DataInputStream(soc.getInputStream());
pr=new PrintWriter(soc.getOutputStream(),true);

readMsg r=new readMsg();


}catch(Exception e){}
}

public void actionPerformed(ActionEvent ae)
{
System.out.println("Aaaaa");
if(ae.getActionCommand().equals("Send"))
{

pr.println("Server: "+text2.getText());
text1.setText(text1.getText()+ "\nServer: "+text2.getText());
}
}
public static void main(String args[]) throws Exception
{
server server1=new server();

}
}

Friday, September 5, 2008 | | 0 comments

Simplest network Program in Java

Before going to a GUI network program, I decided to write a simple network program in Java. Wrote it and code is given below. A network program in Java can not be simpler than this. basically this program has two files.
  • s.java
  • c.java
s and c stands for server and client respectively. client sends a piece of text "This is the simplest text" to server. Server displays it. Thats all. Simple Huh!

s.java:


import java.net.*;
import java.io.*;

class s
{
ServerSocket servSoc=null;
DataInputStream din = null;
String s;
Socket soc;

s()
{
try{
servSoc=new ServerSocket(2008);
soc=servSoc.accept();
din=new DataInputStream(soc.getInputStream());

while(true)
{
s=din.readLine();
System.out.println(s);

}
}
catch(Exception e){}
}
public static void main(String ars[])
{
s s1=new s();

}
}



c.java:


import java.net.*;
import java.io.*;

class c
{
Socket soc = null;
PrintWriter pr=null;

c()
{
try{
soc=new Socket("localhost",2008);
pr=new PrintWriter(soc.getOutputStream(),true);
pr.println("This is the simplest text");
}
catch(Exception e)
{}

}
public static void main(String args[])
{
c c1=new c();
}
}


Sunday, August 31, 2008 | | 0 comments

A CLI Java Network Application

Finally, I did make a simple Command Line Java network application to work. In fact, I just copied it from this "Creating simple Chat client" available at Internet. But I learned each and every line of code in it, the only thing I wanted.

Now I'm going to make it work in a GUI. As per now, I have succeeded partially. On way I learned theory of Sockets classes in Java which implements(not in the Java sense) it.

I will post my updates after completing it. Oh, almost forgot....I will be doing this project as a network application.