linux,c,socket,udp文件传输

client端接收数据时,buffer中数据存在,但是在fwrite写入的时候数据丢失了,请问有什么原因可能导致这个问题(丢失的部分都是在整个文件的最后部分)

buffer是否再写的时候被改变了。写之前先拷贝一份数据出来

是不是写入的时候地址错误了呢?

1.确保在写之前buffer数据是存在的,可以加个打印查看一下
2.如果buffer内容的确存在,那么在调用fwrite传的文件描述符,写入的长度等参数是否对应。