typedef struct Node2
{
SOCKET name;
char *FuncResult;
}Node2;
DWORD WINAPI SendTheard(LPVOID pParam)
{
while(TRUE)
{
WaitForSingleObject(h3,INFINITE);
if(!Result.empty())//Result是个队列
{
Node2 tempNode2=Result.front();
Result.pop();
ReleaseSemaphore(h3,1,NULL);                                                  if(send(tempNode2.name,tempNode2.FuncResult,MAX_BUF_SIZE,0)==SOCKET_ERROR)
{
cout<<WSAGetLastError()<<endl;
}
closesocket(tempNode2.name);
        ReleaseSemaphore(h5,1,NULL);
}
else
ReleaseSemaphore(h3,1,NULL);
Sleep(100);
}
return TRUE;
}为什么send不出去错误码10014,MAX_BUF_SIZE为3M小到8192就不会报错了。同理我将指针tempNode2.FuncResult换成一个长度为3M的数组(静态)也能发过去,但是我用memcpy将指针指向的内容赋值给数组的时候,memcpy也会报错,貌似是因为3M太大了,现在问除了改小我的MAX_BUF_SIZE有别的办法处理么,用for循环赋值也不行。tempNode2.FuncResult指向的是一个长度为3M的字符串