public void Dispose() {
try {
if ( reader != null )
reader.Dispose();
} catch ( ObjectDisposedException ) { }
try {
if ( reader != null )
writer.Dispose();
} catch ( ObjectDisposedException ) { }
try {
if ( client != null && client.Connected ) {
client.Close();
}
} catch ( ObjectDisposedException ) { }
}