我在用send发送数据时出现WSAEWOULDBLOCK 错误,怎么解决啊?
代码如下:
CSocket m_socket;
int iBytes = 0;
int iCursor = 0;
int iLength = 0;
const int SEND_PACKET_LEN = 1024 * 4;
char myBuffer[1024 * 500] = "";
char sTemp[1024] = "";
for (int i = 0; i < 100; i++)
strcat(stemp, "1234567890");
for (i = 0; i < 490; i++)
strcat(myBuffer, sTemp);
iLength = strlen(myBuffer);
while (iLength > 0)
{
if ((iBytes = m_socket.Send(myBuffer + iCursor, SEND_PACKET_LEN)) == SOCKET_ERROR )
//if ((iBytes = send(m_socket.m_hSocket, myBuffer + iCursor, SEND_PACKET_LEN, 0)) == SOCKET_ERROR )
{
TRACE("error code=%d\n", iBytes);
TRACE("WSAGetLastError =%d\n", WSAGetLastError());
TRACE("错误: 无法发送数据\n");
return;
}
iLength -= iBytes;
iCursor += iBytes;
}
为什么我用第一个send不会出错,而第二个send的时候却出现了WSAEWOULDBLOCK错误?