Ich würde es wohl so machen:

Der Client schickt dem Server zuerst einen String mit dem Passwort. Der Server überprüft den, und wenns nicht stimmt -> disconnect.
oder (ausführlicher):

Client String "Darf ich?" -> Server

Server String "Zauberwort?" -> Client, der fragt Passwort

Client String "Passwort Bitte." -> Server

Server entweder String "Stimmt nicht" -> Client, woraufhin der disconnected
oder String "geht klar." -> Client, und der macht dan alles weitere.
Das mit dem Senden wäre dann so ähnlich wie beim
Datei-Senden, nur ohne Streams und statt
WriteStream dann
WriteString.
Gruß,
ManuMF