我可以发送非常大的文本文件没有问题。我尝试发送一个JPG等,它不会工作。该文件是正确的大小。我不知道我在想什么。我通过在发送到temp.foo文件之前写入数据来检查我的读取和写入功能。我检查它,它处理任何事情。通过套接字发送二进制文件。文本文件的工作,没有别的呢?
我把它像这样
for(vector<....>::iterator it = v.begin(); it!=v.end(); ++it){
pair<...> p=*it;
send(s,p.first,p.second,0);
}
那么其他的程序读取有关处理二进制数据,它
for(i = 0; i < size; i+=max){
b= 0;
while (b== 0) {
if ((b = recv(s, buf, max, 0)) == -1) {
perror("recv");
exit(1);
}
}
stringstream ss;
ss << buf;
char * out = (char*)malloc(b);
memcpy(out,buff,numbytes);// Perhaps my error is here?
}
// write function call here
显示如何打开文件,可能是在文本模式下打开它们。 – Dani
嗨Dani。如果您按照底部的链接,我将包含读/写方法。我有他们二进制。 r/w很好,但在阅读,发送和写作之间会发生什么? – L4nce0