Winsock recv no funciona después del apagado

Estoy tratando de hacer que funcione un simple programa winsock, así que creo mi socket y envío mis datos perfectamente. Entonces usoshutdown(ConnectSocket, SD_SEND) que según msdn, deshabilita el envío de datos, pero no la recepción? El ejemplo en msdn también hace esto.

Pero después de llamar ashutdown mi función recv devuelve 0 sin recibir ningún dato.
Si comento el código de apagado, todo funciona como debería.

¿Me estoy perdiendo de algo

Respuestas a la pregunta(4)

Su respuesta a la pregunta