Y
yhhxj
Unregistered / Unconfirmed
GUEST, unregistred user!
想在局域网上传输较大的文件(几兆),参考了大富翁网站大哥小弟们的意见,在client端server端各设一个buf : array [1..2048]of char,在client端将文件拆开发送,在server端拼装,编完程序后一运行,果然一个字节不差的发了出去,而且一个字节不少(注意)的收到了,可是被传送的文件如果是exe文件则不能运行,是bmp,word文件则打不开,仔细跟踪程序,发现client端能将文件一字不差的读入buf,在ClientSocket1Read事件中用Socket.SendBuf(buf,sizeof(buf))发送,在server端ServerSocket1ClientRead事件中用Socket.ReceiveBuf(buf,sizeof(buf))接受,观察此时的buf,发现头八个byte被添加了八个字符,送过来的内容被全部向后移动了八个byte,最后八个byte的内容被挤了出来丢失,每次传输均是如此,如此下来,文件的大小不变,但是内容却变了,当然不能运行或打开,实在想不通前八个字符是从哪来的?哪位大虾给各说法?或给个完成这个功能的pas文件.这个问题搞的我这几天睡不着,刚才多回了一下车,话还没敲完100分就出去了,罢!罢!再加五十!贴地址不给分.
谢谢各位!
谢谢各位!