Delphi idtcpserver/client 用法是什么?

 我来答
晴晴知识加油站
高能答主

2018-04-13 · 让梦想飞扬,让生命闪光。
晴晴知识加油站
采纳数:3595 获赞数:661339

向TA提问 私信TA
展开全部

在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。

冷小瞳233
2018-04-05 · TA获得超过781个赞
知道答主
回答量:18
采纳率:100%
帮助的人:2481
展开全部

服务端发送:


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;


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式