socket接收文件的問題(100分)

  • 主题发起人 主题发起人 takdick
  • 开始时间 开始时间
T

takdick

Unregistered / Unconfirmed
GUEST, unregistred user!
我的傳送文件程序有點問題,在自己的機子上測試時一切正常,但把server端放在另一機子上運行時,client端可接收文件,文件大小也正確,但卻無法執行,提示'c:/test.exe僅完成部分的readprocessmemory或writeprocessmemory要求.',請問如何解決?謝謝.
主要代碼如下:
client端:
rcv := Socket.ReceiveText;
left := filesize - count;
if AnsiPos('go~',rcv)=1 then
begin
if sizeof(buf2)<left then
begin
ms2.Read(buf2,sizeof(buf2));
Socket.SendBuf(buf2,sizeof(buf2));
count := count + sizeof(buf2);
end
else
begin
ms2.Read(buf2,left);
Socket.SendBuf(buf2,left);
ms2.Free;
end;
server端:
len:=socket.ReceiveLength;
if len<8 then
begin
rcv:=socket.ReceiveText;
filesize:=strtoint(rcv);
count:=0;
socket.SendText('go~');
end
else
begin
left:=filesize-count;
if sizeof(buf2)<left then
begin
socket.ReceiveBuf(buf2,sizeof(buf2));
fs.Write(buf2,sizeof(buf2));
count:=count+sizeof(buf2);
socket.SendText('go~');
end
else
begin
socket.ReceiveBuf(buf2,left);
fs.Write(buf2,left);
fs.free;
socket.Close;
end;
end;
 
為何沒人回應,我急需解決此問題,拜託各位了......
 
呵呵,代码到处都是漏洞。。。[:D]
 
to 张无忌
能给看看盒子上的有个‘File Transport 文件传输 SOCKET WINSOCK 多线程’的源码为什摸在WIN2K下传输出错呀? 可以的话我另开帖子给分!
 
To:张无忌
能指點一下嗎,不勝感激.
 
后退
顶部