全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1191
推到 Plurk!
推到 Facebook!

資料更新後其它台電腦能立即知道如何設計?

答題得分者是:mephise
jck11
一般會員


發表:6
回覆:3
積分:1
註冊:2006-09-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-02-10 09:36:23 IP:61.60.xxx.xxx 訂閱
想瞭解一下
我在一台電腦裡輸入資料insert到MySQL資料庫後,
用什麼樣的設計方式可以讓其它台的電腦畫面也跟而秀出訊息或更新畫面?
我能想到的方法就是讓其它台電腦上的程式每隔一段時間就去抓資料庫的資料,
但應該有更好的方法,感謝提供,謝謝。
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-02-10 22:38:39 IP:118.169.xxx.xxx 未訂閱
這個問題問的好, 我也一直在思考當中, 因為資料庫多半都是由server下載資料複製到工作端記憶體內作業的, 所以多人調閱資料, 其中一位修改後, 是沒有辦法同步更新其他工作站的電腦, 所以有幾個做法提供參考
1.每一台電腦均設定一個自動定時掃瞄資料庫的功能, 檢查是否有異動, 如有則更新工作站的資料, 但這是比較屬於被動模式
2.另一種方式則是以TServerSocket或TClientSocket 或類似的元件做通訊元件的雙向互動, 只要主機資料有異動, 就透過Socket主動通知其他連線的工作站, 並進行更新動作, 但說來容易, 其實真的要設計上是要很多考量及顧慮的, 所以到現在我也只限於在嘴皮上說說, 沒有實際的成品出來
mephise
高階會員


發表:4
回覆:149
積分:205
註冊:2004-02-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-02-14 09:06:01 IP:60.250.xxx.xxx 訂閱
我之前有寫過這類程式
主要的方式是利用 UDP Server 的 Broadcast 方法去通知內網的 Client 端資料已經更新
本來想說 Client 端收到通知再去資料庫抓取, 後來一想, 根本畫蛇添足
直接在 Boradcast 的訊息中放入被更新的資料就好了
缺點是 只能在同一個 Network 中廣播,
要是跨網域的話, 我會改用 TCP, 建立 Socket 之後, Keep Connection, 然後由伺服器主動通知 (這也有實做過, 不過Server是Linux, 我用Java寫Daemon)

我沒使用定期去掃描資料庫的方式, 是因為怕 SQL 伺服器負擔太大

===================引 用 jck11 文 章===================
想瞭解一下
我在一台電腦裡輸入資料insert到MySQL資料庫後,
用什麼樣的設計方式可以讓其它台的電腦畫面也跟而秀出訊息或更新畫面?
我能想到的方法就是讓其它台電腦上的程式每隔一段時間就去抓資料庫的資料,
但應該有更好的方法,感謝提供,謝謝。
------
Mephise Chen
前興德工程師
系統時間:2024-05-02 11:03:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!