[.NET] 網路即時更新

看板Visual_Basic作者 (沒錢了...衰)時間17年前 (2008/07/20 12:29), 編輯推噓3(3015)
留言18則, 2人參與, 最新討論串1/2 (看更多)
大家好 小弟目前正在寫一個類似MSN的程式 目前正在寫上線通知這一塊 對於VB.NET的網路程式設計比較不熟所以來請問大家 我想做的是某個人上線可以即時的通知其他人 關於這部分有什麼比較好的做法嗎? 因為我翻書 大部份網路都只有介紹TCP跟UDP 可是TCP要一個一個建立連線 很費時 萬一要是其中一個一直連線失敗就會等很久 還有如果需要通知的人數很多的話 就會要建立很多連線 費時又麻煩 UDP雖然比較快 可是怕會掉包沒收到 所以想請問大家有沒有比較好的想法可供小弟參考一下 之前我寫過JAVA的Multicast 不過VB好像沒有這一塊 而且當初寫完試用時 有時後封包也會被NAT檔掉= =" 我目前用的是比較土法煉鋼的暴力法= = 先將上線or下線狀態記錄在資料庫 然後client端固定30秒去更新一次 可是這樣程式負擔很大 而且也沒辦法達到及時的效果.... 我在想有沒有辦法從MS SQL資料庫直接通知VB的程式?? 也就是某A上線→去資料庫更新狀態→"資料庫"通知某B 某A上線了 我想應該是有 不過小弟不知道關於這一塊的技術叫做是......? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.196.55

07/20 15:09, , 1F
通常不會server主動通知client
07/20 15:09, 1F

07/20 15:09, , 2F
一定是client去server取得訊息
07/20 15:09, 2F

07/20 15:10, , 3F
server主動通知的話負擔會非常的重
07/20 15:10, 3F

07/20 15:11, , 4F
我的想法是這樣 client每幾秒就會向server取得狀態一次
07/20 15:11, 4F

07/20 15:12, , 5F
這個時候server再傳相關的訊息給client
07/20 15:12, 5F

07/20 15:14, , 6F
我想bbs的水球應該是主動通知的 msn訊息是被動通知的
07/20 15:14, 6F

07/20 15:15, , 7F
我現在的做法就是每30秒取得狀態一次啦
07/20 15:15, 7F

07/20 15:17, , 8F
不過程式感覺LOAD很重 而且這樣就做不到即時效果@@
07/20 15:17, 8F

07/20 15:18, , 9F
如果某A30秒內上線完下線 這樣某B可能會什麼都不知道
07/20 15:18, 9F

07/20 15:18, , 10F
當然用SERVER主動通知LOAD會更重我也知道啦
07/20 15:18, 10F

07/20 15:18, , 11F
我只是想知道有沒有這樣的技術而已^^"
07/20 15:18, 11F

07/20 17:48, , 12F
程式是有多少內容 怎麼會load重 除非有很多人在測試這個
07/20 17:48, 12F

07/20 17:48, , 13F
程式
07/20 17:48, 13F

07/20 17:49, , 14F
30秒有點長了 不過不管多少時間 訊息是儲存在佇列中
07/20 17:49, 14F

07/20 17:49, , 15F
等著client去接收
07/20 17:49, 15F

07/20 17:49, , 16F
不管另一方是否在線上 都一樣收得到
07/20 17:49, 16F

07/20 17:50, , 17F
開一個資料表就專門放上下線及即時傳訊等各種訊息
07/20 17:50, 17F

07/20 17:50, , 18F
等接收者來接收
07/20 17:50, 18F
文章代碼(AID): #18WhyzEb (Visual_Basic)
文章代碼(AID): #18WhyzEb (Visual_Basic)