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

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

關于socket長連接 新手向

關于socket長連接 新手向

慕工程0101907 2019-03-14 16:15:53
TCP是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,基于TCP的socket應該也是長連接;   public static void main(String[] args) throws IOException {       Socket s = new Socket("127.0.0.1", 8081);   }我不明白一點,就是運行如上代碼,會得到一個socket(假設服務器已開啟),可是為什么我運行后程序會自動結束并關閉socket呢?我明明沒有調用s.close(),請問如何使程序保持長連接,只能用while(true)形式的心跳包嗎?如果是,那在心跳期間我怎么能發送有效的數據(假設心跳數據為無效的)呢?
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

你的代碼可以說明線程結束回收了socket連接。不知道你說的server是用什么開發的,如果是原生的socket,好像默認情況下并沒有需要心跳包才可以維持連接,如果使用了其他框架并且設置了idle time,才需要心跳包來維持這個連接,服務器認為你空閑了一段時候后可能就不會再連接了,為了避免浪費資源就把你的連接關閉了。(個人理解)


查看完整回答
反對 回復 2019-04-25
  • 2 回答
  • 0 關注
  • 571 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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