以下内容是关于send函数发出的buf中有信息,但是到了recv函数,却是空的,这是什么原因?

send函数发出的buf中有信息,但是到了recv函数,接收到的buf是空的,而recvbyte返回的是0,这是什么原因造成的
发送:
memset(listpath, 0, sizeof(listpath));
scanf("%s",listpath);
strcpy(request,listpath);
if ((sendbytes = send(sockfd, request, strlen(request), 0)) == -1){
perror("send_list_request");
exit(1);}
接收:
bzero(request,sizeof(request));
if ((recvbytes = recv(client_fd, request, strlen(request), 0)) == -1){
perror("recv_request_list");

慕的地6264312
浏览 353回答 1
1回答

达令说

send要填写发送的大小,你是不是填成0了?还有最后那个参数flags也注意一下,填0应该可以。以下资料来自网络:-----向一个已连接的套接口发送数据。#include <winsock.h>int PASCAL FAR send( SOCKET s, const char FAR* buf, int len, int flags);s:一个用于标识已连接套接口的描述字。buf:包含待发送数据的缓冲区。len:缓冲区中数据的长度。flags:调用执行方式。
打开App,查看更多内容
随时随地看视频慕课网APP