我正在尋找關於我已經分配的項目的建議,我期待看到它是如何「專業地」完成的,或者有任何建議可以使我走向正確的方向。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