首頁>Club>
12
回覆列表
  • 1 # Java實戰技術

    Socket對TCP中的三次握手和四次揮手通訊機制進行了封裝,可以直接使用Socket相關API進行網路通訊程式設計。不過使用JDK原生的Socket API程式設計不是很高效,而且可能會出現一些問題,推薦使用開源的Netty或Mina,支援很多高階特性。

  • 2 # 源源而來

    這個問題,我感覺沒必要糾結呀,你只要瞭解TCP是如何進行三次握手和四次揮手的,然後Java Socket用他的API詮釋了TCP的三次握手和四次揮手。至於怎麼實現的,用的就不是java實現的了。

    作為java程式設計師,你更應該關注的是在java中有哪些手段可以實現高效的Sockt程式設計,在jdk1.4之前,java只有阻塞同步的BIO程式設計,在1.4開始,java推出了NIO,即非阻塞同步IO,在1.7開始推出了AIO,實現了真正的非阻塞非同步IO。

    以下是不同IO的實現的功能和特性的對比圖:

    自從有了NIO之後,讓java的socket程式設計變得高效,但是也給使用者留來了遍地的坑,比如半包黏包等問題,但是開源的Netty或Mina等框架,為我們解決這些坑提供了很好的解決方案,所以建議使用這兩種框架。

  • 中秋節和大豐收的關聯?
  • 2018流行的餐桌有哪些推薦?