首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

客户端持续向服务器发送信息,服务器只能显示第一条解决办法

2013-01-27 
客户端持续向服务器发送信息,服务器只能显示第一条客户端代码:if ( SOCKET_ERROR ! m_connect)//连接成功

客户端持续向服务器发送信息,服务器只能显示第一条
客户端代码:
if ( SOCKET_ERROR != m_connect)//连接成功
{
 CString strSend;
 GetDlgItemText(IDC_CLIENTTEXT,strSend);
 send(m_socket,strSend,strSend.GetLength()+1,0);
}
服务端接收代码:
SOCKADDR_IN addro;
int len = sizeof(SOCKADDR);
while(TRUE)
{
SOCKET sockConn = accept(((CServerDlg*)lpParam)->m_socketListen,(SOCKADDR*)&addro,&len);
if ( INVALID_SOCKET == sockConn )
{
 continue;
}
char recvBuf[32] = " ";
recv(sockConn,recvBuf,32,0);
str = str + recvBuf + "\r\n";
((CServerDlg*)lpParam)->SetDlgItemText(IDC_SERVERRSV,str);
closesocket(sockConn);
}
例如:发送端先发送一个“1”,服务器端显示“1”;接着发送端再发送“2”,服务器则不会显示,
到底是什么问题啊!
[解决办法]
因为阻塞在accept,无法recv
[解决办法]
楼主,你接收完就把socket关闭了,当然不会再接收到数据了,拿这里有socket例子测试一下:
http://download.csdn.net/detail/geoff08zhang/4571358
[解决办法]
逻辑有问题,看看服务器基本流程吧

热点排行