std::ifstream file(localPath.c_str(), std::ifstream::binary);
file.seekg(0, std::ifstream::beg);
while(file.tellg() != -1)
{
char *p = new char[1024];
bzero(p, 1024);
file.read(p, 1024);
printf("%ld\n", file.gcount());
n = send(fd, p, strlen(p), 0);
if (n < 0) {
error("ERROR writing to socket");
} else {
printf("---------%d\n", n);
}
delete p;
}
file.close();
実際に送信しようとしている画像は png (サイズ: 27892 バイト) です。読み取りに関する限り、すべてのバイトが適切に読み取られています。ただし、それらをソケットに書き込んでいる間は、数バイトしか書き込まれません。これについて助けが必要です。
前もって感謝します。:)