Java.net.SocketException connection reset GPS
===

I know this question has already been asked, but the answer given to that person was to use read(), until a EOF. I applied this answer and my server still sends "Connection reset". For those that are not familiar with the problem, I'm trying to connect a GPS that is install in my car to my server. It works with SMS and GPRS commands, so the idea is to connect the device  succesfully. Here's the code:

HERE'S MY CLIENT SOCKET MANAGER



   

         package tcp.clientservermodel;
            import java.net.*;
            import java.io.*;
    
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    
    public class ClientSocketManager extends Thread{
    
        Socket client_socket_;
        BufferedReader input_ = null;
        OutputStream output_;
       ClientSocketCaller caller_;
    
        public ClientSocketManager( ClientSocketCaller caller,Socket incoming_socket){
            this.caller_=caller;
            this.client_socket_=incoming_socket;
            this.start();
        }
    
        public void run(){
            try{
                input_ = new BufferedReader(new InputStreamReader(client_socket_.getInputStream()));
            }catch(Exception err){
                        System.out.println(err +"   1");
            }
            
            try {
                output_=this.client_socket_.getOutputStream();
                //this.SendMessage("");
            } catch (IOException err) {
                        System.out.println(err +"   2");
            }
            
            boolean sw = true;
            
            try {
                int incoming_char=0;
                StringBuffer incoming_message=new StringBuffer();
                while((incoming_char=input_.read())!=-1){
               //     System.out.println(incoming_message.toString());
                        if(incoming_char=='\n'){ ProcessMessage(this. client_socket_.getInetAddress().toString()+": "+incoming_message.toString());
                        incoming_message=new StringBuffer();
                       
                    }else{
                        incoming_message.append((char)incoming_char);
                    }
                }
            } catch (IOException err) {
                     err.printStackTrace();
            }
        }
    
        public boolean SendMessage(String message){
            boolean success=true;
            try{
                this.output_.write((":123456A1,+5730000000000#").getBytes());
            }catch(Exception err){
                System.out.println(err+"   2");
                success=false;
            }
            return success;
        }
    
        public void ProcessMessage(String message){
            System.out.println(message);
            caller_.MessageHasBeenRecieved(message);
        }
    
    }


SERVER SOCKET MANAGER:


    package tcp.clientservermodel;
    
    import java.net.*;
    import java.io.*;
    import java.util.*;
    
    public class ServerSocketManager extends Thread
            implements ClientSocketCaller{
    
        int port_;
        ServerSocket server_socket_;
        public boolean is_enabled_=true;
        Vector client_sockets_vector_=new Vector();
    
        public ServerSocketManager(int port){
            this.port_=port;
            this.start();
        }
    
        public void run(){
            try{
                this.server_socket_=new ServerSocket(port_);
    
                while(is_enabled_){
                    Socket client_socket=this.server_socket_.accept();
                    System.out.println("Connection Succesful "+client_socket.getInetAddress().toString());
                    this.client_sockets_vector_.add(new ClientSocketManager(this,client_socket));
                }
            }catch(Exception err){
                System.out.println(err +"   3");
            }
        }
    
        public void MessageHasBeenRecieved(String message) {
            for(int i=0;i<this.client_sockets_vector_.size();i++){
                ClientSocketManager current=(ClientSocketManager)this.client_sockets_vector_.get(i);
                if(current!=null){
                    current.SendMessage(message);
                }
            }
        }
    
    }


HERE'S IS THE CLIENT SOCKET CALLER



    package tcp.clientservermodel;
    
    
    public interface ClientSocketCaller {
    
        public void MessageHasBeenRecieved(String message);
    
    }


The error is located in this line

(incoming_char=input_.read())!=-1

and output is 

java.net.SocketException connection reset

PLEASE I NEED HELP!










