In my client server application, the send() returns WSAENOTSOCK.

Following transfer has taken place:

After successfull connection the client sends a password to server for verification.

After verifying the server sends "TRUE" or "FALSE" back to client specifying whether password is correct or not.

If the password is correct, the server then tries to send some buffer to the client but the send() fails & return SOCKET_ERROR. WSANOTSOCK is received by WSAGetLastError().

After this error i close my client socket, server receives the FD_CLOSE msg.

If socket was not valid as WSANOTSOCK suggests, then how the server receives FD_CLOSE msg.

Both my client server are asynchronous in naturem, credits to WSAAsyncSelect().

Waiting for suggestions