title: java DataOutputStream exception
body: <p>The exception is thrown in line 24 the second time I type something (after I have typed the host name) - server works right. Code</p>
  
  <pre><code>import java.io.*;
  import java.net.*;
  
  class TCPclient {
      public static void main(String[] args) throws Exception {
          String hostname, msg;
          InetAddress hostaddress;
          BufferedReader inFromUser = new BufferedReader (new InputStreamReader(System.in));
          System.out.println("Please type host\n");
          hostname = inFromUser.readLine();   //I type localhost
          hostaddress = InetAddress.getByName(hostname);
          Socket cSocket = new Socket(hostaddress, 44444);
          String cAddress = cSocket.getLocalSocketAddress().toString();
          DataOutputStream outToServer = new DataOutputStream (cSocket.getOutputStream());
          while (true)
          {
              msg = inFromUser.readLine();
              System.out.println(msg);
              if (msg.equals("exit"))
              {
                  System.out.println("exit");
                  break;
              }
              outToServer.writeBytes(cAddress + " said : " + msg + '\n'); //this line throws an exception the second time it runs
          }
          cSocket.close();
      }
  }
  </code></pre>
  
  <p>I am new in java so I am missing something obvious I guess. Exception reads :</p>
  
  <blockquote>
    <p>Exception in thread "main"
    java.net.SocketException: Software
    caused connection abort: socket write
    error
            at java.net.SocketOutputStream.socketWrite0(Native Method)
            at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
            at java.net.SocketOutputStream.write(SocketOutputStream.java:115)
            at java.io.DataOutputStream.writeBytes(DataOutputStream.java:259)
            at TCPclient.main(TCPClient.java:52) Java
    Result: 1</p>
  </blockquote>
  
  <p>Server :</p>
  
  <pre><code>import java.io.*;
  import java.net.*;
  
  class TCPServer {
     public static void main(String argv[]) throws Exception {
        String clientSentence;
        ServerSocket welcomeSocket = new ServerSocket(44444);
        while(true) {
           Socket connectionSocket = welcomeSocket.accept();
           BufferedReader inFromClient = new BufferedReader(
                  new InputStreamReader(connectionSocket.getInputStream( ) ) );
           clientSentence = inFromClient.readLine();
           System.out.println(clientSentence + "\n");
        }
     }
  }
  </code></pre>