开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
gcc
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
无
问题(Question):
我的网络程式设计功课,需要写一个UDP sender/reciever来传资料
我想在sender open指定档案后,一段段read进阵列里传到reciever,write进另一个档案
但当我在read时,假设:
char buf[1024];
n = read(fd, buf, 1024); //fd指向已开启档案,大小5KB
把n和strlen(buf)印出来
n会是1024没错,但strlen(buf)却远小于1024
传到receiver write进新开的档案之后,新的档案大小也会小很多
喂入的资料(Input):
用dd随机产生的5kb档案
预期的正确结果(Expected Output):
从sender端完美复制到reciever端
错误结果(Wrong Output):
read进阵列的每段资料都差很多
程式码(Code):(请善用置底文网页, 记得排版)
http://codepad.org/HGM1mFF7
如有需要完整的sender程式码,我再另行附上
补充说明(Supplement):
网络程式设计作业老是会出现神奇的bug......