我一直在尝试找到如何在 C 或 C++ 中以块的形式发送文件我在这里查看了一些示例,但没有找到好的示例。我对 C/C++ 中的 sockect 编程非常陌生
http://beej.us/guide/bgnet/html/single/bgnet.html
有什么想法我需要在客户端和服务器之间以块的形式发送文件吗?客户端请求文件,服务器将其发回。
我发现这个要发送,但不确定是否收到。
#include <sys/types.h>
#include <sys/socket.h>
int sendall(int s, char *buf, int *len)
{
int total = 0; // how many bytes we've sent
int bytesleft = *len; // how many we have left to send
int n;
while(total < *len) {
n = send(s, buf+total, bytesleft, 0);
if (n == -1) { break; }
total += n;
bytesleft -= n;
}
*len = total; // return number actually sent here
return n==-1?-1:0; // return -1 on failure, 0 on success
}