<?

class tcpipControl {
    var 
$ip;
    var 
$port;
    var 
$socket;
    var 
$status 'disconnected';

    function 
connect() {
        
$this->socket socket_create(AF_INETSOCK_STREAM0);
        
$datasock = @socket_connect($this->socket$this->ip$this->port);
        if(!
$datasock) {
            
$this->status 'disconnected';
            return 
0;
        }

        
$this->status 'connected';
        
        
$input socket_read($this->socket8192);
        
// while full challenge / auth initiation received, carry on reading with line above

        // do the auth / challenge bit and send back
        
        // wait for response
        
        // return true or false for success / failure
    
}

    function 
command($string) {
        if(
$this->status == 'connected') {
            
socket_write($this->socket,$string."\r\n");
            
$input socket_read($this->socket8192);
            return 
$this->parse($input);
        }
        else {
            return 
0;
        }
    }

    function 
parse($input) {
        
$input ereg_replace("//[0-9]+ ","",$input);
        return 
$input;
    }

    function 
disconnect() {
        
$this->command('quit');
        
socket_close($this->socket);
    }
}

?>