[請益]如何設計一個以秒計費且不會被用戶逃漏的方法?
討論不限平台,但為了方便說明以下以 Android 為例。
假設有個服務,例如通話、影片等等,每秒鐘要收取 n 元代幣,若用戶代幣不足則立即結束服務。
方案ㄧ:
每秒向 Server 發起 Http 請求進行扣費。
缺點:
請求數可能過多,Server 負載過重。
方案二:
Client 紀錄開始時間,當用戶代幣不足或主動結束服務時,計算開始時間與結束時間差再回報給 Server。
缺點:
若用戶主動斷網並清除 APP 資料再重新登入,Client 之前紀錄的時間會不見導致無法得知用戶到底使用多久。
請問有沒有方法可以紀錄用戶使用秒數並確實回報給 Server?
-----
Sent from JPTT on my Google Pixel 3.
--
服務開始前先去伺服器取餘額計算秒數,在介面執行到這
個秒數就強制結束,這樣如何?
是說,跟錢有關的事情怎樣都不會在客戶端處理吧?很不
保險
如果秒數還沒到之前用戶故意斷網 + 清除資料 這樣 Server 端只有開始時間沒有結束時間, 下次開啟服務可能是好幾小時或明天,不能以這個時間去扣費
開個ws記連線斷線
起迄點都在Server端提供多久的上行服務決定,跟客戶端無關
服務以秒計費,所以服務在取用的時候就要扣了不是嗎?
?
服務可能是點對點的通話,頂多在開始前通知 Server, 但是結束時間就沒辦法保證可以傳遞給 Server,因為可能被故意斷網 + 清除資料
雖然沒用過,但服務應該也是從server端分發的吧
開ws然後每秒ping pong吧
Websocket
方案二根本不會有問題啊 服務開始的時候用戶id就被記錄
了 就算他清 她下次登入還是要用那個id 然後資料都在
server上面吧
Server 端只有開始時間,結束時間沒辦法保證可以傳遞到 Server
※ 編輯: rum579 (123.0.61.194 臺灣), 05/17/2020 21:19:29 ※ 編輯: rum579 (123.0.61.194 臺灣), 05/17/2020 21:20:25server決定一切 client只能被動來問還能不能連
ws ping pong server不就知道那時候短線?
WS 考慮方案
基本上client連線問一次server就夠了 剩下的自己思考...
一開始先給十秒 然後client 放個timer 時間內沒有接到se
rver來訊,client就結束應用。心跳包應用。就算被逃也只
有損失十秒
還有,這樣看來你的client有兩方,兩方都去做啊
雙方都做是目前的做法,希望可以再討論其他方案,畢竟雙方都斷網清除資料也是有可能
※ 編輯: rum579 (42.73.187.157 臺灣), 05/17/2020 21:51:22會斷網清資料的先解約這個客戶吧
以普通瀏覽器來講斷網清資料還滿常見的。我都習慣定期清c
ache
提高清除後重新下載成本,WS/WSS,服務網格化
通話結束的時候兩個clinet 都發通知給server阿?
兩個都主動斷網會有時間差的
遊戲?
不是server socket send資料時檢驗就好了嗎
只有我覺得都讓client直接互連了還要以秒計費有點坑嗎XD
方案二, 每n分鐘驗證一次, 結束時再傳一次
另外 server 也可不定期的抽檢
websocket
如果不是server持續分發的服務,那我覺得要考慮別種收
費方式了...
把收費計算放在client真的很詭異
把通話內容錄下來就知道幾秒了(誤
影片你不會學動畫瘋嗎
放client的計算只能是輔助 就像身分驗證也是主客端都要做
WebSocket+1
永遠不要"直接"相信client端來的資料
ws
ws
30樓XD,跟我想的一樣
如果都不連server, 為什麼要以秒計費
如果雙方都會斷網清資料大概就不會用你這套軟體通信啦..
你應該找個簡單的做 偏激使用者不要太認真 只要有8成腦殘無
法破解即可 等到破解的人越來越多 你也撈到一筆錢了 在想怎
麼改即可
想了一圈 = = 推樓上.."更"萬全的對策對應增加的成本 是否
有其價值...
client 每次和 server 要個五分鐘 credit,多退少補
這樣只要每五分鐘和 server 連一次,可以嗎?
如果使用者清除資料,就等於直接丟掉剩餘的 credit
樓上想的跟我一樣 不是少補 應該說是要client要預繳下一
個週期的費用 如果資料沒清 有機會退回 多繳的部分
爆
[情報] 遠傳VoLTE服務自7/19起免費申辦ref: 1. 遠傳VoLTE服務僅提供4G/5G月租型用戶申辦使用。自2022/7/19起,免費提供VoLTE服務 (原月租費30元), VoLTE通話費用依用戶現行資費/專案合約的網內語音費率計費,通話產 生的傳輸量不計費。 2. 自2022/7/19起,用戶新申辦/攜碼/續約方案,升級5G、易付型轉月租型或資費變更,20
Re: [情報] google one 開放VPN了Google VPN 其實我自己也用了好一陣子 算是一個穩定的VPN 畢竟門檻算高(2TB以上用戶才有 但這次開放之後 我想穩定度跟相容性 應該也會有所降低11
Re: [情報] Surfshark VPN 黑五 2年 1661元既然是省錢板,本魯就來分享免錢的 VPN 使用法 1. 安裝 open vpn (windows android 都有客戶端) 2. 去 vpngate 找好心人提供的 vpn server,可以在列表中看到 server 速度,ping 值, up time 等等,現在 vpngate 都有提供 server 評分,找前幾名的就很好用。 3. 下載 ovpn 設定檔到本地,打開客戶端並導入設定檔,連接並使用。8
[閒聊] FF14 走入歷史的Error 2002 bug先說在前頭 本文指的是6.01前因1.0時代部分程式碼的遺毒 導致在進到隊列後 即使連線穩定 仍有機會遭到2002砲隨機攻擊的bug 這個問題在6.01版已經修正 如果你是爛線 那在排隊時還是有機會遇到Error 2002 一開始SE在公告中表示Error 2002是玩家連線不穩所造成6
[情報] Windows更新引發Server無限重開機、HyperWindows更新引發Server無限重開機、Hyper-V無法啟動、桌機無法VPN連線 文/林妍溱 | 2022-01-13發表 本周微軟釋出的Patch Tuesday,其中一項更新版引發Windows Server機器不斷重開機、 Hyper-V無法啟動及檔案系統ReFS無法存取等問題。此外Windows 10及11桌機的VPN服務也 無法連線。4
Re: [情報] Windows 7的最後一次更新會導致桌布不見現在微軟是說目前緩解的方法是不要設置為展延 同時將會針對這個問題提供更新來修正這個問題。原先微軟只打算提供給購買ESU的企業 用戶。但過一天後就改口說會提供更新給所有Win7和Server 2008 R2的用戶 --2
[問題] 關於自己帳戶在別人主機登入的刪除問題我和朋友A都有各自的主機,各自主機內也有自己的用戶 用戶也都有連動Nintendo Account,且都有使用NSO服務 朋友一時興起,在我的switch主機上登入了他的帳號 現在我執行遊戲時,會詢問我要用哪一個用戶:「本人」、「朋友A」 我想請問2
[問題] 刪除用戶借朋友試玩, 結果她自己創了一個用戶頁面, 雖然已透過清除用戶資料刪掉遊戲紀錄, 可是她的頭像名稱一直出現在主機裡, 不知道要怎麼刪除掉......1
[軟體] 使用macOS Server的用戶請勿升級macOS 13新版的macOS也快發布了 蘋果在今年4月已經宣布終止開發macOS Server 並表示macOS 12 Monterey將是macOS Server最後支援macOS的版本 之後的新版macOS 13 Ventura將無法使用 因此