游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2645|回复: 2

RECV()收到字节只有133个字节,不完整。跪求帮助

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-7-19 09:36:00 | 显示全部楼层 |阅读模式
char m_recvBuffer[1024]
client.Recv(m_recvBuffer,sizeof(m_recvBuffer),len);
printf("recv=%s\n",m_recvBuffer);

int CXSocket::Recv(char* pBuff, int nLen, int& nLenReceived, DWORD dwTimeOut)//nlenreceived为recv的返回值,nlen为变量大小。
{
_BEGIN:
这一段是多线程的代码;
if ((nLenReceived = recv(m_hSocket, pBuff, nLen, 0)) == WSAEWOULDBLOCK)//sockSrv,m_hSocket
        {
                nLenReceived = 0;
                return E_XSOCKET_NOMOREDATA;
        }

}

只收到133个字节。send端是服务器发过来的,字节大概23百的样子。网上说多recv几次,试过没用。

23

主题

515

帖子

552

积分

高级会员

Rank: 4

积分
552
发表于 2012-7-20 12:54:00 | 显示全部楼层

Re:RECV()收到字节只有133个字节,不完整。跪求帮助

教你一招

while(1)
{
   recv();
}

exit(0);

11

主题

95

帖子

658

积分

高级会员

Rank: 4

积分
658
发表于 2012-7-22 16:30:00 | 显示全部楼层

Re:RECV()收到字节只有133个字节,不完整。跪求帮助

有可能是send不完全成功,你每次send时,记录实际send的数量,然后后面从已send的末尾处在send出去
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-27 22:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表