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条 展开
服务端发送逻辑如下:
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条 展开
2个回答
展开全部
应该有函数 是向服务器写数据的 但是像服务器发送的数据肯定是要有一定格式的,想当然的发的话,肯定会报错的。 当你向服务器发送数据,服务器会给你返回数据的 你只需要把接收的数据做该做的处理就好了,比如解析
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询