winddriver/Delphi-Cross-Socket

ICrossConnection 是否可以添加一个预留的指针用来保存和他关联的某个对象?类似于控件的tag, 或者 ListBoxItem 里面的tagObject。

Closed this issue · 2 comments

ICrossConnection 是否可以添加一个预留的指针用来保存和他关联的某个对象?类似于控件的tag, 或者 ListBoxItem 里面的tagObject。

不知道是否我的应用场景有问题,在实际使用的过程中,需要将 ICrossConnection 和 每一个客户的状态对象一一对应,用来保持服务端和客户端的持续通信。

常规的方法是查表, 保存一个字典,将每个客户的ID对象 和 ICrossConnection 保存在这个字典表中, 当有数据需要分发的时候,查找表获取符合条件的客户的 ICrossConnection 取出,然后发送数据。

现在打算, 如果 ICrossConnection 里面有个预留的指针,当获取 ICrossConnection 的时候, 就将 客户对象的指针存放到 ICrossConnection 上面, 使用的时候, 直接可以从指针获取需要的对象, 进而对客户的数据进行更新。

这样可以省略很多查表的过程。

本来就有,而且有4个:
Tag
UserData
UserObject
UserInterface

哈哈,多谢提醒,以前看了一眼,没注意到。