国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請(qǐng)教一下大神websocket發(fā)送的數(shù)據(jù)會(huì)因延遲造成變化不?

daohu

假設(shè)前端有下面的語(yǔ)句

t=4;
socket.send(JSON.stringify({"t": t}));
t+=1;

后端會(huì)不會(huì)在網(wǎng)絡(luò)不好的情況下收到5?
該情況用在比如加鉆石數(shù)時(shí),前端同步更新,后端會(huì)和前端發(fā)來(lái)的數(shù)值t=4進(jìn)行比對(duì),如果符合就+1,不符合就報(bào)作弊,現(xiàn)在誤報(bào)作弊的情況偶爾發(fā)生,但不是每次都發(fā)生,排查了很多問(wèn)題,現(xiàn)在只能懷疑是這個(gè)了,像是因網(wǎng)絡(luò)不好造成了傳到后端的是5?如果是這個(gè)情況,一般通信中前端同步更新應(yīng)該怎么做避免數(shù)據(jù)錯(cuò)亂呢?

8305 2 0
2個(gè)回答

walkor 打賞

tcp會(huì)自己保證順序,所以同一個(gè)tcp連接發(fā)送的數(shù)據(jù)不會(huì)錯(cuò)亂

  • daohu 2017-08-10

    好的,謝謝大神,那我再好好檢查下可能的其他原因

  • daohu 2017-08-10

    測(cè)了好久,還是會(huì)時(shí)不時(shí)的報(bào)錯(cuò),代碼邏輯又沒(méi)有找到問(wèn)題,我現(xiàn)在推測(cè)和我服務(wù)端初始化時(shí)用了global去全局?jǐn)?shù)據(jù)庫(kù)以及從數(shù)據(jù)庫(kù)讀取的一排數(shù)組存在變量里有關(guān)。當(dāng)服務(wù)端收到傳過(guò)來(lái)的t==4時(shí),global t,然后比較這兩個(gè)t是否相等,因?yàn)間lobal失效t為null,所以數(shù)值不等,所以報(bào)錯(cuò)。有沒(méi)有可能是global 失效造成的,大神?

walkor 打賞

進(jìn)程間的變量是 不同步的,
把進(jìn)程數(shù)改成1試下,有可能是你們業(yè)務(wù)沒(méi)考慮到多進(jìn)程導(dǎo)致的

  • daohu 2017-08-10

    目前設(shè)置的是4,是Gateway和BusinessWorker里的count都改為1嗎?我先測(cè)一測(cè),看是不是這個(gè)問(wèn)題。同樣,反過(guò)來(lái)測(cè)或許更能說(shuō)明問(wèn)題,是不是我進(jìn)程數(shù)越多,出錯(cuò)的幾率就越大?每次onMessage接受到消息都會(huì)隨機(jī)給不同的進(jìn)程處理嗎?
    如果是的話又想用多進(jìn)程需要怎么設(shè)置全局變量才不會(huì)報(bào)錯(cuò)呢,這個(gè)如果一兩句話說(shuō)不清可以推薦資料我自己去看,再次感謝大神解答

  • walkor 2017-08-10

    多進(jìn)程都需要共享的數(shù)據(jù)放到數(shù)據(jù)庫(kù)或者redis里共享

  • daohu 2017-08-10

    @1:redis我可以去了解下,數(shù)據(jù)庫(kù)的話豈不是每次有數(shù)值比對(duì)都要從數(shù)據(jù)庫(kù)取一次數(shù)據(jù),感覺(jué)好麻煩,多進(jìn)程是不是等于就不能使用全局global了,因?yàn)樽兞坎煌奖厝粫?huì)帶來(lái)錯(cuò)誤的可能

  • stephen 2017-08-10

    用 GlobalData 組件去同步數(shù)據(jù)會(huì)很快

  • daohu 2017-08-11

    @1531:謝謝,我去看看手冊(cè)

  • daohu 2017-08-11

    @1:大神,測(cè)試了下,進(jìn)程數(shù)都改成1了,還是遇到這個(gè)問(wèn)題,感覺(jué)像是global里的值有誤,或者收到了其他會(huì)話的干擾

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??