void CEX_ChatDlg::OnBnClickedButtonSend()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData();
if(m_strMsg.IsEmpty()){
MessageBox(_T("不能发送空消息!")); return;
}
char *pBuf=new char[1025];
int nBufSize=1024;
int nLen=m_strMsg.GetLength();
int nRes=m_asClient.Send(LPCTSTR(m_strMsg),nLen*2);
if(nRes==SOCKET_ERROR){
AfxMessageBox(_T("消息发送失败!")); return;
}
if(m_bServer){
m_listMsg.AddString(_T("服务器发送的消息:"));
m_listMsg.AddString(m_strMsg);
}else{
m_listMsg.AddString(_T("客户机发送的消息:"));
m_listMsg.AddString(m_strMsg);
}
m_strMsg.Empty();
//UpdataData(FALSE);///////////////////////////////////////////////////error
UpdateData(FALSE);
}
void CEX_ChatDlg::OnReceive()
{
char *pBuf=new char[1025];
int nBufSize=1024;
CString strReceived;
int nRes=m_asClient.Receive(pBuf,nBufSize);
if(nRes==SOCKET_ERROR){
AfxMessageBox(_T("无法接收消息!")); return;
}
pBuf[nRes]=NULL;
strReceived=pBuf;
if(m_bServer){
m_listMsg.AddString(_T("来自客户机发送的消息:"));
m_listMsg.AddString(strReceived);
}else{
m_listMsg.AddString(_T("来自服务器发送的消息:"));
m_listMsg.AddString(strReceived);
}
}
mfc socket 若发送“abc”过去就只能接收到“a” 要是发“d”过去,就没问题!
答案:2 悬赏:0 手机版
解决时间 2021-02-11 04:23
- 提问者网友:趣果有间
- 2021-02-10 05:41
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-02-10 06:52
我暂时保留我的看法!
全部回答
- 1楼网友:刀戟声无边
- 2021-02-10 08:16
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯