socket通信编程一个无法找到答案的问题,求大神帮忙!
我做的是一个客户端和服务端通信的程序,但是每次每次连接成功后,服务端发送的消息,客户端只能接收到一个字符,例如我发送asdf,服务端只能接收到a,这是什么原因啊,我参考了好多程序都没找到问题所在,求大神帮忙分析下,感激不尽,在线等。
客户端发送消息事件代码如下:
void CChatClientDlg::OnBnClickedBtnSend() //发送按钮事件
{
// TODO: Add your control notification handler code here
int iSent;
UpdateData();
CString msgWords;
msgWords=m_sWords;
iSent=msgWords.GetLength();
m_ClientSocket->Send(LPCTSTR(msgWords),iSent); //向服务器发送消息
m_ListWords.AddString(_T("发送:")+msgWords);
m_ListWords.SetTopIndex(m_ListWords.GetCount()-1);
UpdateData(FALSE);
}
客户端接收事件如下:
void CChatServerDlg::OnReceive()
{
//接收客户端发来的信息
char *szTemp=new char[1025];
int sizeTemp=1024;
int n = m_ServerSocket->Receive(szTemp,sizeTemp); //接收信息
szTemp[n] = NULL;
CString sTemp;
//sTemp.Format(_T("收到:%s"),szTemp);
sTemp = szTemp;
m_ListWords.AddString(sTemp); //显示信息
m_ListWords.SetTopIndex(m_ListWords.GetCount() - 1);
UpdateData(FALSE);
}