C# 使用C在网络上保持对象列表的最新状态#
我是一个初学者,正在尝试将对象列表存储在服务器上,客户端可以连接并查看/编辑该列表 我会尽力解释我的设置是什么 服务器: 这将保存一个“主列表”,其中包含该列表类型的所有对象。当客户机需要更新时,需要将此列表传递给客户机,以便他们可以读取它 客户: 客户机将从服务器读取更新的列表,当他们对列表进行更改时,需要将此更改发送到服务器 现在,我想我可以做到在任何时候只有一个客户机可以编辑列表,而且由于可以添加/删除/更改/更改列表中的位置,我认为最好让客户机将其列表发送到服务器以替换服务器。这样,由于只有1个用户将编辑列表,因此列表应保持更新 我的问题是,我找不到一种简单的方法通过网络发送对象列表。目前,我可能可以通过一次获取一个对象,将其转换为XML,然后再转换回来,来实现这一点,但因为这是一个需要大量代码的列表。我希望有人知道通过网络移动对象列表或再次将对象列表转换为字符串/返回的更简单方法 我正在做的一个简单的例子是想象人们可以点击并移动的区域上的图片,因此我需要跟踪图像的顺序、x/y和图像名称。这是一个粗略的例子 请让我知道你的想法,任何帮助都将不胜感激。我是初学者,所以我为任何不正确的术语道歉 谢谢。文本协议C# 使用C在网络上保持对象列表的最新状态#,c#,list,object,networking,type-conversion,C#,List,Object,Networking,Type Conversion,我是一个初学者,正在尝试将对象列表存储在服务器上,客户端可以连接并查看/编辑该列表 我会尽力解释我的设置是什么 服务器: 这将保存一个“主列表”,其中包含该列表类型的所有对象。当客户机需要更新时,需要将此列表传递给客户机,以便他们可以读取它 客户: 客户机将从服务器读取更新的列表,当他们对列表进行更改时,需要将此更改发送到服务器 现在,我想我可以做到在任何时候只有一个客户机可以编辑列表,而且由于可以添加/删除/更改/更改列表中的位置,我认为最好让客户机将其列表发送到服务器以替换服务器。这样,由于
- XML
- JSON
- HTML/SOAP
- 内置序列化
- 第三方(Protobuf或Thrift)
- 手工连载
最后一种解决方案是手动序列化。这将是非常快的,但不灵活,困难,乏味,难以维护。我不建议这样做。不要来回发送整个列表。只发送更新 服务器应该保存已编译的列表,并且还应该保存自上次整个列表被“快照”以来的所有更改的列表 更新内容如下:
- 删除
- 编辑
- 添加物
- 从服务器请求快照(接收最后一个ID快照)
- 定期轮询新更新,并将更新存储在本地列表中
- 打包更改并将其发送到服务器
实现这一点既有挑战性又有乐趣。这里肯定还会产生一些问题:)您可以将集合序列化为XML/JSON。