I'm very new in the network programming, i writed an IOCP network for Windows with c++, but i have a big contradiction;
many threads can send to same socket, so i used a lock before WSASend because i read about WSASend is not thread-safe, my question is, a thread calls WSASend and while send operation is in progress, if another thread calls WSASend again, what do i need to do?
Should i call WSASend for the second call, or do i need to add a queue and when its completed, send the cache?
What is the best performance tricks for iocp?