socket  recv问题

jay_kuku 2008-04-09 10:58:31
基于TCP的连接,服务器端不断检测新的数据,为什么在客户端发送一次数据,服务器接受的数据无穷呢,例如:发送test,接受到的数据就是testtesttest....死循环状态,可我想发送一次接受一次数据,基于UDP的连接同样调用recvfrom()却正常,请大侠指点
while(TRUE)
{
  int revl=recv(m_newSocket,(char*)dataBuf,100,0);
  if(SOCKET_ERROR==revl)
  {
AfxMessageBox("接受数据失败!");
return 0;
  }
  
  ::PostMessage(hwnd,WM_RECV,0,(LPARAM)dataBuf); //处理接受到的数据
}
...全文
144 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2008-04-10
  • 打赏
  • 举报
回复
看看你发送的代码,是不是循环发送了?
scq2099yt 2008-04-10
  • 打赏
  • 举报
回复
up
jay_kuku 2008-04-10
  • 打赏
  • 举报
回复
原因找到了,呵呵,是发送端的问题,是因为我在发送数据过程中提早closesocket了,谢谢提醒。。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧