我正在寻找关于我已经分配的项目的建议,我期待看到它是如何“专业地”完成的,或者有任何建议可以使我走向正确的方向。C#关于排队的建议
我有一个服务器部分接受来自客户端的命令并将字节流推送到串行端口。尽管多个客户端可以向这个服务器发送命令,但我们的硬件一次只能处理一个命令。我的问题是在软件端排队。
我实现了一个Queue<T>
帮助程序类,该类还将数据插入到包含请求客户端编号,消息数据(写入串口的字节数组)和消息类型(命令描述)的DataSet中。它还将列出DataGrid中的队列命令(在窗体上)。可能不是要走的路,但这是我能想到的唯一的事情,只要保留提出请求的客户和数据并在视觉上显示队列。
我在哪里处理队列的处理?我想过如何处理它的自定义事件,如果DataGrid列表发生更改(项目添加/删除),抓住DataSet中的第一行数据并将其发送到串行端口。
任何意见或建议,非常感谢。
谢谢。
编辑:我忘了补充说,它也需要来自SerialPort的响应,以便将当前执行的命令从队列中删除。
当然,如果你从客户端接受数据,你不想修改/从服务器的数据网格输入它?回应一个新的数据网格项目听起来不像一个糟糕的地方开始 – 2011-03-22 18:38:05
为什么你实现队列类?它已经在你身边了。 –
DarthVader
2011-03-22 18:38:40
@Jon Cage:我只是使用DataGrid来显示队列列表(谁的命令是在下一行)。 – mastofact 2011-03-22 18:41:52