亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問在判斷長連接狀態方面沒有什么更好的辦法?

請問在判斷長連接狀態方面沒有什么更好的辦法?

慕姐8265434 2023-04-26 19:15:29
使用場景:1.使用javaPNS2_2做的與apns服務的連接,該連接是長連接形式,能夠連接成功;2.在向apns服務發送消息時會對當前連接判斷,使用的是java.net.Socket自帶的isClosed、isOutputShutdown、isInputShutdown 三個方法進行判斷,如果有一個是false那么關閉并重新連接。3.發送完畢后會獲取當前發送的反饋信息,沒有錯誤反饋。4.測試的手機token為有效的,連接apns反饋服務返回的不可用設備token為空。問題:剛啟動服務或者自己編寫的推送服務一直處于忙碌狀態(向apns發送信息時間間隔較短)時手機設備可以收到推送,正常。如果較長時間(大約1小時左右)沒有向apns發送信息,則會出現顯示發送成功但是手機接收不到推送消息的情況,再次發送則手機收到推送(連續發送兩次,第一次手機沒收到,第二次以后都可以);如果很長時間(大約1晚上)沒向apns發送信息,則不管發送多少次手機都接收不到推送。以上所有情況發生時,socket的判斷都是連接可用。我一直懷疑長連接的問題,也看網上有人提過,他是每過一定時間(半小時還是一小時忘記了)就重啟連接。但我覺得這個是取巧,也是逼不得已的情況下采取的措施。希望有做過的人給支支招,或者分析下可能的原因
查看完整描述

1 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

如果沒用多線程推送的話,是很有可能出現推送異常的,因為如果有錯誤的token很有可能引起推送線程阻塞,那么其他的用戶就推送不了了,當然引起線程阻塞的原因不止此一個,所以最好的辦法是使用線程池做推送!

查看完整回答
反對 回復 2023-04-29
  • 1 回答
  • 0 關注
  • 320 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號