Puts the socket into a Listening state.
Returns 0 if the operation was finished successfully, and socket error code otherwise.
In .NET, if an exception has been rised, -1 may be returned.
In the Listening state, the Socket will poll for incoming connection attempts.
You must call the Bind method prior to calling Listen.
If the function returns 0, you should call Accept to accept an incoming connection.