socket服务端在listen的时候,就处与阻塞状态,怎么解决这个问题;怎么用socket进行文件和图片的传输;先谢了~~~
解决方案 »
- delphi操作.net生成的类型库:*.tlb文件问题,求大侠指教
- delphi2006里面没有tchart控件吗?它在哪里啊,找了半天都找不到.
- 插件问题
- 哪有DELPHI 8 下载
- 三层数据库问题:为什么我的clientdataset控件中providername始终是刚开始在应用层添加的那几个
- Delphi与C++对象共享的问题
- 用没有办法在MEMO中贴入一个WORD的表格???????
- 如何从存储过程返回real类型的数据?
- 使用ADO控件,一个主表挂两个从表,经常发生“无法为更新定位行”的错误!
- 2.3号31次硬卧一张,谁要,13911074882
- 求助,我的这个 动态创建 ODBC 错误在哪里,哪位大哥,能调式出来,马上揭贴!
- field'xxxx'not found!!
放到线程中
或使用WSAAsyncSelect详细信息请参阅MSDN
但是我还是实现不了图片和文件传输;麻烦各位大侠帮忙~~~~
Con := TIdTCPClient.Create(Self);
try
try
Con.Host := RemoteIP;
Con.Port := RemotePort;
Con.Connect;
FileDT := 'ListFile:' + GetFileDate(AllowFile);
//发送文件日期
Con.WriteLn(FileDT);
//读取状态
Status := Con.ReadLn();
//文件用更新吗?
if Status = 'OK' then
Exit; //文件的总长度
AllLen := Con.ReadInteger();
RecvLen := 0; //接受文件
FileData.isEnd := 0;
F := FileCreate(AllowFile);
try
while FileData.isEnd = 0 do
begin
//读一个包
Con.ReadBuffer(FileData,SizeOf(FileData));
if FileData.Len > 0 then
begin
RecvLen := RecvLen + FileData.Len;
//写到文件里去
FileWrite(F,FileData.Data,FileData.Len);
end;
Sleep(300);
end;
finally
FileClose(F);
end; if AllLen = RecvLen then
WriteCommandFile('reload');
except
on E: Exception do
begin
;
end;
end;
finally
Con.Disconnect;
Con.Destroy;
end;