Client e server comunicano tramite TCPCLient e TCPListener.

Tutti i trasferimenti di dati da un computer all'altro non danno problemi, solo l'azione di Process.Kill da problemi piantando entranbe le applicazioni.

In sostanza la sintassi è questa:

Client -> Richiedo al Server la lista dei processi attivi
Server -> Grazie alla GetProcesses crea un array con i processi attivi e lo manda al client
Client -> Ricevo l'array con i processi attivi sul server e lo stampo in una ListBox, poi seleziono il processo che voglio terminare e invio il nome del processo al Server
Server -> Riceve il nome del processo da terminare e grazie alla GetProcesses crea l'array con tutti i processi attivi, poi li scorre con un ciclio Foreach e termina tutti i processi con quel nome grazie al metodo Process.Kill

Se mi connetto a me stesso, quindi con Client e Server sulla mia stessa macchina, la cosa funziona, se mi connetto ad un'altra macchina (Client sulla mia, Server sull'altra) quando cerco di terminare il processo si blocca l'applicazione.