send()和客户端recv()第一次可以成功,第二次按下服务器端的发送按钮。为什么客户端的text控件没有显示? [有关问题点数:40分]

send()和客户端recv()第一次可以成功,第二次按下服务器端的发送按钮。为什么客户端的text控件没有显示? [问题点数:40分]
客户端

while(1)//创建循环,一直接收客户端的连接
{

recv(client_socket,s,200,0);
SendMessage(hwnd3,WM_SETTEXT,0,(LPARAM)(LPCTSTR)s);
memset(s,'\0',sizeof(char)*200);//初始化申请的s堆栈,用'\0',也就是字符串结束符填充
return 0;
}

服务器端

if(hwnd4==(HWND)lParam)//发送数据
{
   if (accept_socket!=-1)
   { 
     memset(s,'\0',sizeof(char)*200);
     SendMessage(hwnd3,WM_GETTEXT,sizeof(char)*200,(LPARAM)s);
     MessageBox(NULL,s,"accept_socket",MB_OK);
     send(accept_socket,s,200,0);
    }else
{MessageBox(NULL,"没有连接!","服务器",MB_OK);} 

------解决方案--------------------

while(1)//创建循环,一直接收客户端的连接
{

recv(client_socket,s,200,0);
SendMessage(hwnd3,WM_SETTEXT,0,(LPARAM)(LPCTSTR)s);
memset(s,'\0',sizeof(char)*200);//初始化申请的s堆栈,用'\0',也就是字符串结束符填充
return 0;//客服端已经返回,退出接收了。鉴定完毕。
}

------解决方案--------------------
建议帖主先学会使用抓包软件辅助调试socket通讯程序。比如wireshark
------解决方案--------------------
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试是程序员必须掌握的技能之一。