socket通信,服务端连续给客户端返回消息,客户端只能收到一条?

服务器相应客户端的请求,从一个文件中读取数据,循环发送给客户端服务端发送逻辑如下:while(getline(file,str)){send(m_socket,str.c... 服务器相应客户端的请求,从一个文件中读取数据,循环发送给客户端
服务端发送逻辑如下:
while(getline(file, str))
{
send(m_socket, str.c_str(), strlen(str.c_str()), 0);
}

客户端接收逻辑如下:
char buf[1024];
while(1)
{
memset(buf, 0, 1024);
recv(m_sock, buf, 1024, 0);
}

比如文件有10行,我是想一行一行的接收数据,接收10条,但是接收到的只有1条,是一整个文件的数据
注:内容上倒是没有丢失,就是数量上只有1条
展开
 我来答
heart阿飞55
2018-09-08 · TA获得超过1086个赞
知道大有可为答主
回答量:3030
采纳率:82%
帮助的人:554万
展开全部
应该有函数 是向服务器写数据的 但是像服务器发送的数据肯定是要有一定格式的,想当然的发的话,肯定会报错的。 当你向服务器发送数据,服务器会给你返回数据的 你只需要把接收的数据做该做的处理就好了,比如解析
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yzh3ch4
2019-06-02
知道答主
回答量:2
采纳率:0%
帮助的人:1967
展开全部
这是底层进行了合并,特别是连续发送的时候,数据量不大,则底层会对发送的数据进行合并处理,发送一次,以节约资源。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式