在一个非套接字上尝试了一个操作 tcp客户端调用send失败,该如何处理

在一个非套接字上尝试了一个操作 tcp客户端调用send失败

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{

WSADATA wsadata;
WSAStartup(MAKEWORD(2,2),&wsadata);

SOCKET server;
server=socket(PF_INET,SOCK_STREAM,0);

sockaddr_in serveraddr;
serveraddr.sin_family=PF_INET;
serveraddr.sin_port=htons(12345);
serveraddr.sin_addr.S_un.S_addr= htonl(INADDR_ANY);

bind(server,(SOCKADDR *)&serveraddr,sizeof(serveraddr));
listen(server,10);

SOCKET clientsock;
while(true)
{
if(clientsock=accept(server,0,0)!=INVALID_SOCKET )
{
cout<<"接收成功"<<endl;
int result=send(clientsock,"Password",strlen("Password")+1,0);
if(SOCKET_ERROR!=result)
{
    cout<<"有客户请求连接"<<endl;
}
else
{
cout<<"发送失败"<<endl;
int res=GetLastError();
cout<<res<<endl;
}
}
// closesocket(client);
}

return 0;
}
TCP客户端调用send函数失败,返回的GetLastError(),是10038 ,说是在一个非套接字上尝试了一个操作。不知道怎么回事
------解决方案--------------------
貌似应该这样。
(clientsock=accept(server,0,0))!=INVALID_SOCKET