Delphi Indy局域网聊天

时间:2013-03-26 03:36:00

标签: delphi-2010 indy delphi

我有一个基本的indy TCP服务器和客户端,客户端在其中向服务器发送消息。在服务器上的OnConnect事件中,客户端IP将添加到列表框中。我想在客户端上获取此列表框,并在客户端连接和断开连接时更新列表框。我是Indy组件的新手,不确定最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

TCP套接字在两个方向上工作 - TCP服务器可以在客户端用于连接服务器的同一套接字上启动到客户端的数据传输。

因此,为了将活动连接列表推送到客户端,IdTCPServer只是迭代所有连接并使用Connection.IOHandler.WriteXXX方法发送信息。广播连接列表数据和向所有客户端广播新的聊天消息之间没有技术差异。

唯一的要求是数据需要一个"消息类型指示符" (一个或多个头字节),指示消息类型,可选地后跟消息体长度和数据。