IOCP卡死在send历程处

IOCP卡死在send过程处
http://www.cppblog.com/fedora/articles/140806.html
额,我是参考这个IOCP的例子写的一个IOCP的服务器,当服务器发送比较频繁的时候,服务器的线程都会卡死在send函数处,不知道是为什么,之前我说过这个问题,很多人说为什么不用WSASend函数,但是我没找到。
我把send函数做成了一个模块,但是不知如何把WSASend做成一个模块,
send是阻塞式的,WSASend是非阻塞式的。。。
http://www.cppblog.com/niewenlong/archive/2013/11/11/30224.html
例如这一个,他的WSASend也是在线程内的,把他调出send写一个模块如何写呢?因为PerIoData毕竟是局部变量,我目前是这个架构

static DWORD WINAPI workerthread(){
       SEND(socket,buff);

}
static void SEND(socket,buff){
    send(socket,buff);
}

差不多是这个结构,现在想把send换成WSASend不知如何去换。。。而且,一直不知道send函数为什么会卡死呢?是因为对方的socket关闭了,然后我在调用socket的时候,就一直阻塞住了?
------解决方案--------------------
也有可能是对方接收的缓冲池满了,或是网速慢你的发送缓冲池满了,这个时候就要等待了