首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >维护ipWorks TipwIPDaemon组件的连接of列表

维护ipWorks TipwIPDaemon组件的连接of列表
EN

Stack Overflow用户
提问于 2010-08-16 19:41:17
回答 2查看 775关注 0票数 1

我有一个使用TipwIPDaemon组件构建的服务器应用程序。当客户端连接到连接的事件时,将使用连接的连接is触发该事件:

代码语言:javascript
运行
复制
procedure TServLogic.IPDaemon1Connected(Sender: TObject; 
  ConnectionId, StatusCode: Integer; const Description: String);

文档声明TipwIPDaemon.connectioncount属性返回连接的数量。

我的印象是,你将按以下方式进行:

代码语言:javascript
运行
复制
for i:=0 to ipd.connectioncount-1 do begin
  remotehost := ipd.remotehost[i]
  ......

但是,我现在发现情况并非如此,对于ipd.remotehostx这样的调用,下标x表示唯一的连接is。

比如说,我得到了我的第一个连接。据我所知,这始终是ipd.remotehosts2。如果第二个连接出现,然后第一个连接被删除,那么第二个连接的引用仍然是connectionid=1。

我的问题是:是否有与conectioncount?对应的连接id的内部列表?还是我要自己维持这个?例如,我想向所有连接的客户端发送数据。我似乎需要一个连接符的“列表”:

代码语言:javascript
运行
复制
for i:=0 to ipd.connectioncount-1 do begin
  IPD.DataToSend[GetConnectionID(i)] := 'Hello There';
  ......
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-16 21:31:05

一种方法是使用连接和断开连接的事件。基本上,您将维护自己的当前连接ID列表。当连接事件触发时,您会将ID添加到列表中。当断开连接的事件触发时,您将从列表中删除该ID。

票数 1
EN

Stack Overflow用户

发布于 2010-08-16 20:59:43

你能检查一下每个连接的状态吗?例如,您应该能够这样做:

代码语言:javascript
运行
复制
for i:=0 to ipd.connectioncount-1 do
begin
  if (ipd.Connected[i]) then
  begin
    ipd.DataToSend[i] := 'Hello There';
    ...
  end;
end;      
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3496704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档