Supondo que você esteja falando em C / C ++, use setsockopt() e SO_REUSEADDR . Isso permite a reutilização, desde que não haja nenhum processo ativo escutando essa porta.
Edit: A razão pela qual ainda está em uso é que você não fechou o soquete corretamente. Você Control-C matou. Você pode usar netstat para ver as portas que estão abertas ou ainda não estão completamente fechadas.