请大侠帮忙看看下面这段代码为什么只能接受到前面一半字符
发送代码
void CltgjDlg::OnBnClickedSend()
{
UpdateData(true);
if(!edit_msg.IsEmpty())
{
CString msg;
CString sendmsg=edit_msg;
int len=sendmsg.GetLength();
m_connectsocket.Send(sendmsg.GetBuffer(len),len);
GetDlgItem(TEXT_MSG)->SetWindowTextW(sendmsg);
//GetDlgItem(TEXT_MSG)->SetWindowTextW(_T("等待回应中...."));
if(server==true)
{
msg=_T("系统消息:")+edit_msg;
}
else
{
msg=_T("用户:")+edit_msg;
}
listbox_msg.AddString(msg);
}
edit_msg.Empty();
//GetDlgItem(TEXT_MSG)->SetWindowTextW(_T("等待回应中...."));
GetDlgItem(EDIT_MSG)->SetFocus();
UpdateData(false);
// TODO: 在此添加控件通知处理程序代码
}
接受代码
void CltgjDlg::Receive()
{
GetDlgItem(TEXT_MSG)->SetWindowTextW(_T("接受到信息."));
char *buff=new char[1024];
int cc;
cc=m_connectsocket.Receive(buff,1024);
if(cc!=SOCKET_ERROR)
{
CString msgtext,msgtext1;
for(int i=0;i<1024;i++)
{msgtext1=buff[i];
if((msgtext1!="\0")&&(msgtext1.IsEmpty()==false))
{msgtext=msgtext+msgtext1;}}
listbox_msg.AddString(msgtext);
}
else
{GetDlgItem(TEXT_MSG)->SetWindowTextW(_T("连接故障"));}
}