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