Depends on the weave. A directional weave will create weak aniso effect in more than one direction. So for any glossy component (if I’d bother at all), I MIGHT use two mixed aniso shaders at different angles. Simply offset mixed if you don’t have a pattern, or based on the warp and weft as a hard mix. Roughness will be very high, so use dark colors to fake reduced fresnel unless you have a roughness driven fresnel node available. IT would be further darkened by the fact these are strands of fabrics that absorbs light and doesn’t follow real fresnel. With this, you’ll see that the aniso hardly contributes at all. Which is why I tend to ignore it for cotton.
Note that recently (2.81beta) you can really pump up the bump for diffuse without going into terminator hell. Sadly, only for diffuse, velvet is not affected by this fix. So either ignore velvet or use a way lower bump distance for it. Not my idea of real and simple, but it is what it is.
You might get lucky by simply changing value and saturation for the facing only part, and just leave it at simple diffuse. This is the approach used in most tutorials I guess. It’s not “real” reaction to light as a fabric, but it still does the job.