Delphi idtcpserver/client 用法是什么?
在Client连接时创建线程即可。
一、Client用Socket来喊话,它的Write方法很有意思,可以Write多种类型的数据,当然,都是定长或可以判断出长度的类型,而服务器的Execute事件就能用AContext.Connection.IOHandler的各种Read方法来读出相应的内容。
二、指令传输.这是在服务器主动的方式下进行的一次性指令传输.注意,与Client对Server交流不同,服务器的所有内容必须在这一次传输中进行完毕!也就是说,这次传输必须是:指令+数据大小+数据内容。
三、在DisConnected事件中有若干代码,而关闭不成功的主要原因我猜测不是来自于IdTcpServer本身,而是这些后续代码引起的。
四、在Server中都会用一个ListView来登记登录进来的Client,我是这样来释放i:=clist.Items.Count-1;while i>=0 do beginTIdContext(clist.Items[i].Data).Connection.Disconnect。
服务端发送:
var
iFileHandle:integer;
iFileLen,cnt:integer;
buf:array[0..4096] of byte;
=======================================================
客户端接收:
procedure TForm1.Button1Click(Sender: TObject);
var
rbyte:array[0..4096] of byte;
sFile:TFileStream;
iFileSize:integer;
IdTCPClient1.ReadBuffer(rbyte,iFileSize);// .ReadBuffer(rbyte,iLen);
sFile.Write(rByte,iFileSize);
sFile.Free;
ShowMessage('file get ok!');
end;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>