Solitamente ogni client è associato ad una porta casuale assegnata dal sistema operativo (quindi non devi fare la bind, o farla mettendo 0 come porta). Ciò serve anche ad evitare che la porta che cerchi di assegnare sia già utilizzata da un altra applicazione che non è sotto il tuo controllo.
Se proprio vuoi proseguire sulla tua strada, allora devi fare come dice +m+, ovvero inserire in ogni messaggio inviato dal client un id, dopodiché nella risposta il server mette lo stesso id. Però ti complichi parecchio la vita.