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

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

java的socket編程和網絡協議的關系的一些疑問

java的socket編程和網絡協議的關系的一些疑問

鴻蒙傳說 2018-07-22 17:25:04
用socket編程時,沒有指定應用層協議就可以直接把client socket的數據發出去到server socket,socket編程不需要使用應用層協議嗎?為啥用到了傳輸層協議(默認好像是TCP)卻不用應用層協議?
查看完整描述

2 回答

?
慕少森

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

舉個例子:
Http是應用層協議,TCP是網絡層協議,應用層在TCP/IP四層架構中位于TCP的上一層
TCP連接在實現時要借助Socket(套接字 IP+端口號)
Socket接口是TCP/IP網絡的API,Socket接口定義了許多函數或例程,程序員可以用它們來開發TCP/IP 網絡上的應用程序

HTTP連接需要指明資源的URL,發出請求的應用不知道服務器的IP,雖然域名服務器也是要把域名解析成IP地址,但不屬于應用所關心的范疇,是網絡層應該完成的工作。所以Http連接屬于無狀態的短連接,若再請求其他數據,需要再重新建立連接??蛻舳讼蚍掌靼l送請求后,服務器才知道客戶端的存在。

TCP連接實現時需要指明IP地址和端口號,就可以跟目的主機通過三次握手建立聯系,該連接一直保持直到某一方提出取消連接,通過四次握手關閉連接。Socket支持TCP/UDP協議,如果使用TCP協議,那么socket連接就是TCP連接。


查看完整回答
反對 回復 2018-07-25
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

tcp協議是4層協議,所有應用層協議都是基于tcp協議基礎之上封裝的協議。socket連接是tcp層連接。如果有實現特殊的需要,如實現web頁面訪問,使用http的7層協議實現。

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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