Beh, non vedo tante differenze con quello che hai già fatto.

A parte tutti i discorsi sulla "sicurezza" effettiva di un login simile (ovvero invio delle password in chiaro, adozione di particolari sistemi ...) all'atto della connessione puoi inviare un messaggio con utenza e password e ottenere la risposta dal server.

Non devi "condividere una funzione" ma stabilire un protocollo.

Dal client invii specifici messaggi con dei "comandi", ad esempio

LOGIN:userwd

e il server li riconosce. Tutto qui.