no lo hace con un solo winsock, sino con un solo objeto winsock. Mirate esto: http://lympex.securityhead.com/resources/textos/programacion/Programacion_de_Sockets_en_Visual_Basic_6.pdf
Para programarlo como dices, tienes que crear un array, y cada vez que recibas una conexion, cargar un nuevo socket y asignarle la conexion.
Para programarlo como dices, tienes que crear un array, y cada vez que recibas una conexion, cargar un nuevo socket y asignarle la conexion.