socket套接字连接有关问题,求教!

socket套接字连接问题,求教!!!!!!!
C/C++ code

void CTestttttDlg::OnButton1() 
{
    closesocket(sockConn);
    ShellExecute(NULL,"open","机器人.exe",NULL,NULL,SW_SHOWNORMAL);//客户端机器人
    // TODO: Add your control notification handler code here
    WORD wVersionRequested;
    WSADATA wsaData;
    int err;
    char a[50];
    wVersionRequested = MAKEWORD( 1, 1 );    
    err = WSAStartup( wVersionRequested, &wsaData );
    if ( err != 0 ) {
        return ;
    }    
    if ( LOBYTE( wsaData.wVersion ) != 1 ||
        HIBYTE( wsaData.wVersion ) != 1 ) {
        WSACleanup( );
        return ;
    }
    SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);    
    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
    addrSrv.sin_family=AF_INET;
    addrSrv.sin_port=htons(13000);
    bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
    listen(sockSrv,5);    
    SOCKADDR_IN addrClient;// 连接上的客户端ip地址    
    int len=sizeof(SOCKADDR);
    sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);// 接受客户端连接,获取客户端的ip地址
    for (int i=0;i<=3;i++)//发送的一系列指令
    {
        char sendBuf[150];
        if (i==0)
        {
            sprintf(sendBuf,"%d\n",0);
        }else if (i==1)
        {
            sprintf(sendBuf,"%d\n",2);
        }else if (i==2)
        {
            sprintf(sendBuf,"%d\n",3);
        }else if (i==3)
        {
            sprintf(sendBuf,"%fa%fa%fa%fa%fa%fa%fa%f\n",666.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0);
        }
        send(sockConn,sendBuf,strlen(sendBuf),0);// 发送消息到客户端
    }
    
}


我遇到的问题是,当触发这个单击事件是,客户端(“机器人.exe”)收到了服务器的数据。但是关闭客户端之后,在触发这个事件,客户端却没有收到信息。。这是哪里不对了?

------解决方案--------------------
sockSrv关闭了吗?会占用端口,绑定失败的。
------解决方案--------------------
你第一次收到数据时,是客户端先运行,然后再点OnButton1这个事件,还是直接由OnButton1来运行客户端,代码看不出来有什么问题,把sockConn这个变量在关闭SOCKET后再清除一下,就是:
closesocket(sockConn);
sockConn=NULL;//根据你变量类型来决定怎么清除