python教程 c#winform窗體如何實現(xiàn)服務(wù)器實時接收數(shù)據(jù),不借助button?
c#winform窗體如何實現(xiàn)服務(wù)器實時接收數(shù)據(jù),不借助button?一般來說,實現(xiàn)客戶機和服務(wù)器之間的實時通信(數(shù)據(jù)接收)有兩種方式。1. 拉就是拉。也就是說,客戶機從服務(wù)器中取出數(shù)據(jù)。由于WinF
c#winform窗體如何實現(xiàn)服務(wù)器實時接收數(shù)據(jù),不借助button?
一般來說,實現(xiàn)客戶機和服務(wù)器之間的實時通信(數(shù)據(jù)接收)有兩種方式。
1. 拉就是拉。也就是說,客戶機從服務(wù)器中取出數(shù)據(jù)。
由于WinForm本質(zhì)上是事件驅(qū)動的,如果您不想使用按鈕,最簡單的方法是使用計時器,例如每10秒請求一次數(shù)據(jù)
]這種方法本質(zhì)上與按鈕相同,或者通過事件驅(qū)動應(yīng)用程序,只是為了自動讀取數(shù)據(jù)。
優(yōu)點簡單,缺點不及時(如果數(shù)據(jù)在1秒內(nèi)變化,10秒間隔太長),資源利用率低(如果1小時內(nèi)沒有變化,10秒刷新占用資源)。Push,即服務(wù)器將信息推送到客戶機。
要在WinForm中推送信息,通常需要與服務(wù)器建立連接。連接后,當(dāng)服務(wù)器需要推送(例如,數(shù)據(jù)已更新)時,它將向客戶端發(fā)送信息。
優(yōu)點是數(shù)據(jù)時效性好,資源利用合理。
缺點是需要大量代碼(與定時器方法相比)
推送模式可以參考“觀察者模式”的開發(fā)模式。