我有一个由两部分组成的应用程序。服务器和客户端。两者通过TCP套接字进行通信。
服务器支持插件,而插件又可以存储各种复杂度的设置(从整数和字符串到复杂对象)。
我想建立对在客户端UI中编辑插件设置的支持,但事实证明这很难,因为我真的不知道该插件存储的数据类型。
有没有人对如何做这样的事情有任何好的想法?
- 更新
举个例子,
服务器有一个监视不同RSS源的插件,并根据更新进行操作。该插件将其设置存储为列表复杂对象
class RssItem
{
string Url { get; set; }
int PollInterval { get; set; }
}
但是,服务器不知道这一点。它只存储序列化对象。
现在,我对如何让客户端应用程序显示一个用户可以编辑此RssItem
列表的表单感兴趣。我能想到的任何解决方案都涉及对序列化对象的大量反思。
我知道的应用程序确实是这样的Deluge torrent客户端。它是用Python编写的并管理服务器端插件,但是通过一些Twisted Deferred对象hux flux magic,插件可以在客户端UI中有一个自定义设置页面。
答案 0 :(得分:0)
使用智能配置对象,您可以在客户端创建动态表单。例如,在客户端和服务器上使用ExtJS将向您发送带有表单结构的JSON。
这不是解决方案,但您必须考虑这一点。