sever side error
my server side program:
import java.io.*;
import java.net.*;
import java.util.*;
public class simpleserver{
ArrayList clientoutputstream;
public class clienthandler implements Runnable{
BufferedReader reader;
Socket sock;
public clienthandler(Socket clientsocket)
{
try{
sock=clientsocket;
InputStreamReader isreader=new InputStreamReader(sock.getInputStream());
reader=new BufferedReader(isreader);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public void run()
{
String mssg;
try{
while((mssg=reader.readLine())!=null)
{
System.out.println("read"+mssg);
tellEveryone(mssg);
}}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
public static void main(String[] args)
{
new simpleclient().go();
}
@SuppressWarnings("unchecked")
public void go()
{
clientoutputstream=new ArrayList();
try{
ServerSocket serversock=new ServerSocket(4242);
while(true)
{
Socket clientsocket=serversock.accept();
PrintWriter writer=new PrintWriter(clientsocket.getOutputStream());
clientoutputstream.add(writer);
Thread t=new Thread(new clienthandler(clientsocket));
t.start();
System.out.println("got a connection");
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public void tellEveryone(String mssg)
{
Iterator it=clientoutputstream.iterator();
while(it.hasNext()){
try{
PrintWriter writer=(PrintWriter) it.next();
writer.println("mssg");
writer.flush();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
}
--
client side program
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class simpleclient{
JTextArea incoming;
JTextField outgoing;
BufferedReader reader;
PrintWriter writer;
Socket sock;
public static void main(String[] args)
{
simpleclient clien=new simpleclient();
clien.go();
}
public void go()
{
JFrame frame=new JFrame("simple chat client");
JPanel mainpanel=new JPanel();
incoming=new JTextArea(15,30);
incoming.setLineWrap(true);
incoming.setWrapStyleWord(true);
incoming.setEditable(false);
JScrollPane qScroller=new JScrollPane(incoming);
qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
outgoing=new JTextField(20);
JButton sendbutton=new JButton("send");
sendbutton.addActionListener(new sendbuttonlistener());
mainpanel.add(qScroller);
mainpanel.add(outgoing);
mainpanel.add(sendbutton);
setupnetworking();
Thread readerthread=new Thread(new Incomingreader());
readerthread.start();
frame.getContentPane().add(BorderLayout.CENTER,mainpanel);
frame.setSize(400,500);
frame.setVisible(true);
}
private void setupnetworking()
{
try{
sock=new Socket("127.0.0.1",4242);
InputStreamReader streamreader=new InputStreamReader(sock.getInputStream());
reader=new BufferedReader(streamreader);
writer=new PrintWriter(sock.getOutputStream());
System.out.print("network is established...");
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
public class sendbuttonlistener implements ActionListener{
public void actionPerformed(ActionEvent ev)
{
try{
writer.println(outgoing.getText());
writer.flush();
}
catch(Exception ex)
{
ex.printStackTrace();
}
outgoing.setText("");
outgoing.requestFocus();
}
}
public class Incomingreader implements Runnable{
public void run()
{
String mssg;
try{
while ((mssg=reader.readLine())!=null)
{
System.out.println("read"+mssg);
incoming.append(mssg+"\n");
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
}
-
errors:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:372)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:233)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:220)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
at java.net.Socket.connect(Socket.java:536)
at java.net.Socket.connect(Socket.java:486)
at java.net.Socket.<init>(Socket.java:394)
at java.net.Socket.<init>(Socket.java:207)
at simpleclient.setupnetworking(simpleclient.java:48)
at simpleclient.go(simpleclient.java:37)
at simpleserver.main(simpleserver.java:43)
java.lang.NullPointerException
at simpleclient$Incomingreader.run(simpleclient.java:80)
at java.lang.Thread.run(Thread.java:799)

