I am running both client and server on the same machine. Does any 1 know the error stated above?
server
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using System.Net.Sockets; using System.IO; using System.Net;
namespace Server { public partial class Server : Form {
    private Socket connection;
    private Thread readThread;
    private NetworkStream socketStream;
    private BinaryWriter writer;
    private BinaryReader reader;
    //default constructor
    public Server()
    {
        InitializeComponent();
        //create a new thread from server
        readThread = new Thread(new ThreadStart(RunServer));
        readThread.Start();
    }
    protected void Server_Closing(object sender, CancelEventArgs e)
    {
        System.Environment.Exit(System.Environment.ExitCode);
    }
    //sends the text typed at the server to the client
    protected void inputText_KeyDown(object sender, KeyEventArgs e)
    {
        // send the text to client
        try
        {
            if (e.KeyCode == Keys.Enter && connection != null)
            {
                writer.Write("Server>>> " + inputText.Text);
                displayText.Text +=
                    "\r\nSERVER>>> " + inputText.Text;
                //if user at server enter terminate
                //disconnect the connection to the client
                if (inputText.Text == "TERMINATE")
                    connection.Close();
                inputText.Clear();
            }
        }
        catch (SocketException)
        {
            displayText.Text += "\nError writing object";
        }
    }//inputTextBox_KeyDown
    // allow client to connect & display the text it sends
    public void RunServer()
    {
       TcpListener listener;
        int counter = 1;
        //wait for a client connection & display the text client sends
        try
        {
            //step 1: create TcpListener
            IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];
            TcpListener tcplistener = new TcpListener(ipAddress, 9000);
            //step 2: TcpListener waits for connection request
            tcplistener.Start();
            //step 3: establish connection upon client request
            while (true)
            {
                displayText.Text = "waiting for connection\r\n";
                // accept incoming connection
                connection = tcplistener.AcceptSocket();
                //create NetworkStream object associated with socket
                socketStream = new NetworkStream(connection);
                //create objects for transferring data across stream
                writer = new BinaryWriter(socketStream);
                reader = new BinaryReader(socketStream);
                displayText.Text += "Connection " + counter + " received.\r\n ";
                //inform client connection was successful
                writer.Write("SERVER>>> Connection successful");
                inputText.ReadOnly = false;
                string theReply = "";
                // step 4: read string data sent from client
                do
                {
                    try
                    {
                        //read the string sent to the server
                        theReply = reader.ReadString();
                        // display the message
                        displayText.Text += "\r\n" + theReply;
                    }
                // handle the exception if error reading data
                    catch (Exception)
                    {
                        break;
                    }
                } while (theReply != "CLIENT>>> TERMINATE" && connection.Connected);
                displayText.Text +=
                    "\r\nUser terminated connection";
                // step 5: close connection
                inputText.ReadOnly = true;
                writer.Close();
                reader.Close();
                socketStream.Close();
                connection.Close();
                ++counter;
            }
        } //end try
        catch (Exception error)
        {
            MessageBox.Show(error.ToString());
        }
    }
}// end method runserver
}// end class server
Client
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using System.Net.Sockets; using System.IO; using System.Net;
namespace Client { public partial class Client : Form { private NetworkStream output; private BinaryWriter writer; private BinaryReader reader;
    private string message = "";
    private Thread readThread;
    //default constructor
    public Client()
    {
        InitializeComponent();
        readThread = new Thread(new ThreadStart(RunClient));
        readThread.Start();
    }
    protected void Client_Closing(
        object sender, CancelEventArgs e)
    {
        System.Environment.Exit(System.Environment.ExitCode);
    }
    //sends the text user typed to server
    protected void inputText_KeyDown(
        object sender, KeyEventArgs e)
    {
        try
        {
            if (e.KeyCode == Keys.Enter)
            {
                writer.Write("CLIENT>>> " + inputText.Text);
                displayText.Text +=
                    "\r\nCLIENT>>> " + inputText.Text;
                inputText.Clear();
            }
        }
        catch (SocketException ioe)
        {
            displayText.Text += "\nError writing object";
        }
    }//end method inputText_KeyDown
    //connect to server & display server-generated text
    public void RunClient()
    {
        TcpClient client;
        //instantiate TcpClient for sending data to server
        try
        {
            displayText.Text += "Attempting connection\r\n";
            //step1: create TcpClient for sending data to server
            client = new TcpClient();
            client.Connect("localhost", 9000);
            //step2: get NetworkStream associated with TcpClient
            output = client.GetStream();
            //create objects for writing & reading across stream
            writer = new BinaryWriter(output);
            reader = new BinaryReader(output);
            displayText.Text += "\r\nGot I/O streams\r\n";
            inputText.ReadOnly = false;
            //loop until server terminate
            do
            {
                //step3: processing phase
                try
                {
                    //read from server
                    message = reader.ReadString();
                    displayText.Text += "\r\n" + message;
                }
                //handle exception if error in reading server data
                catch (Exception)
                {
                    System.Environment.Exit(System.Environment.ExitCode);
                }
            } while (message != "SERVER>>> TERMINATE");
            displayText.Text += "\r\nClosing connection.\r\n";
            //step4: close connection
            writer.Close();
            reader.Close();
            output.Close();
            client.Close();
            Application.Exit();
        }
        catch (Exception error)
        {
            MessageBox.Show(error.ToString());
        }
    }
}
}