1. 程式人生 > >Java中Socket與TCP的區別是什麼?

Java中Socket與TCP的區別是什麼?

知識補充

TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議。
Socket本質是程式設計介面(API),對TCP/IP的封裝,通常也稱作套接字,用於描述IP地址和埠。

7 應用層 例如HTTPSMTPSNMPFTPTelnetSIPSSHNFSRTSPXMPPWhoisENRP
6 表示層 例如XDRASN.1SMBAFPNCP
5 會話層 例如ASAPTLSSSH、ISO 8327 / CCITT X.225、RPCNetBIOS
ASPWinsockBSD sockets
4 傳輸層 例如TCPUDPRTPSCTPSPXATPIL
3 網路層 例如IPICMPIGMPIPXBGPOSPFRIPIGRPEIGRPARPRARP、 X.25
2 資料鏈路層 例如乙太網令牌環HDLC幀中繼ISDNATMIEEE 802.11FDDIPPP
1 物理層 例如線路無線電光纖信鴿

解疑答惑

  1. 如果不使用socket是不是無法建立tcp協議的連線了?
  2. 如果socket是對TCP/IP的封裝那麼TCP是怎樣子的?
  3. socket讀取流讀取的位元組流是TCP沒有處理過的原位元組流嗎?
  4. 為什麼Java中Socket的每次讀取都少了第一個位元組?
  5. TCP協議傳輸的資料是怎樣子的有什麼樣的格式或約定?

聯絡方式

相關推薦

JavaSocketTCP的區別是什麼?

知識補充 TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議。 Socket本質是程式設計介面(API),對TCP/IP的封裝,通常也稱作套接字,用於描述IP地址和埠。 7 應用層

javaa++++a區別

demo div main highlight print class 結果 public 別了 java中a++與++a區別 a++與++a的區別,如果單獨使用沒有任何區別,如果在運算中就有區別了,a++是先運算在賦值,而++a是先賦值在運算!! class dem

javaarrayListlinkedList區別

這個問題其實好早就想做筆記了,一次面試問到了, ArrayList與linkedList在效能上各有優缺點,都有各自的地方, 1.對ArrayList和LinkedList而言,在列表中末尾新增一個元素所花的開銷是固定的 2.在ArrayList中間插入一個元素或刪除一個元

JAVAextends implements區別

1. 在類的宣告中,通過關鍵字extends來建立一個類的子類。一個類通過關鍵字implements宣告自己使用一個或者多個介面。 extends 是繼承某個類, 繼承之後可以使用父類的方法, 也可以重寫父類的方法; implements 是實現多個介面, 介面的方法一般為

Javasleep()wait()區別

學習時正好碰到這兩個方法,就查閱相關資料,並通過程式實現,進行區別一下:1、每個物件都有一個鎖來控制同步訪問,Synchronized關鍵字可以和物件的鎖互動,來實現同步方法或同步塊。sleep()方法正在執行的執行緒主動讓出CPU(然後CPU就可以去執行其他任務),在slee

Windows網路程式設計SocketWSASocket區別

這2個函式的主要功能都是建立一個SOCKET,函式定義分別如下: SOCKET WSAAPI socket( _In_ int af, _In_ int type, _In_ int pr

Javasleep()wait()區別標記一下

學習時正好碰到這兩個方法,就查閱相關資料,並通過程式實現,進行區別一下: 1、每個物件都有一個鎖來控制同步訪問,Synchronized關鍵字可以和物件的鎖互動,來實現同步方法或同步塊。sleep()方法正在執行的執行緒主動讓出CPU(然後CPU就可以去執行其他任務),

201671010145 2016-2017-3《Java程序設計》Java對象的區別

import -c indent cin ria wid let isp ans 1.什麽是類呢? 書面語句:類是一種事物,或者一類相同物體的抽象.類是對一個或者幾個相似對象的描述,它把不同對象具有的共性抽象出來.也可以說類是同一類對象的原型. 例如:人就是一個類,因為它是

讓你徹底明白JAVA棧的區別

java程序 運行 一點 動態 自動變 key 空間 類型 lin 原文地址:http://www.2cto.com/kf/201302/190704.html 簡單的說: Java把內存劃分成兩種:一種是棧內存,一種是堆內存。 在函數中定義的一些基本類型的變量和對象的引用

Javafinal static final 修飾的常量的區別

評論 tin 產生 建立 dom code 隨機數 ren 使用 喵喵開車,新手上路,多多關照。有任何錯誤請在評論區指出。 ...........................................我是萬惡的分界線( ? ?ω?? )?.............

Javathissuper的區別以及用法

輸出結果 類構造 pan tex 成員變量 靜態 public 裏的 一個 super()用法 super()函數在子類構造函數中調用父類的構造函數時使用,必須要在構造函數的第一行。 1 class Animal { 2 public Anima

JavanextnextLine方法的區別

1. Java中的Scanner類中的方法next()與nextLine()都是吸取輸入控制檯輸入的字元 ①next()方法不會吸取字元前和後的空格/Tab,只吸取字元,開始吸取字元(字元前後不算) 直到遇到空格/Tab/回車擷取吸取 ②nextLine()吸取字元前後的空格/Tab鍵,回車鍵截

c#javabyte位元組的區別及轉換方法

在java中  byte的範圍在 [-128,127] 在C#中  byte的範圍在 [0,255] 所以 java程式與C#程式 進行資料傳輸的時候 要先把java的byte陣列轉換成在[0,255]範圍內的int型陣列a[];再把a[]進行加密得到字串str, 把字串

Java == 號equals()方法區別詳解

== 號與equals()方法區別這個問題在面試中經常被問到,如果你瞭解的不透徹,很容易被問蒙。下面我們來一起看看吧。 1.基本資料型別,也稱原始資料型別。byte,short,char,int,long,float,double,boolean 他們之間的比較,應用雙等號(==)

javaintInteger的區別

java中int與Integer的區別 本文引自: https://www.cnblogs.com/guodongdidi/p/6953217.html. 兩者之間的區別 1、Integer是int的包裝類,int則是java的一種基本資料型別 2、Integer變數必須例項化後

Java陣列變數的區別

LinkedList list; LinkedList list2; list=list2; list2.add("GGGg"); System.out.println(list); 上面是list2,list 為變數,因為list2 沒有初始化,必須得先初始化,後賦值&

java重寫過載的區別

ava—重寫與過載的區別 這幾周開始看Java的知識,發現有一個有趣的現象就是,前兩天剛看過的知識點,過一天又忘掉了。而且很多東西堆在腦子裡像漿糊一樣。所以邊學習邊總結是很重要的,今天想寫一篇關於重寫和過載的部落格,為什麼?因為面試會問啊,這是基礎中比較重要的地方,但我百度了幾篇部落格之後發現寫

JavaRMIRPC的區別

隨著Java技術學習的不斷深入,越來越覺得保持初心是多麼重要,無論我們學到哪個程度,在學習的時候始終保持初學者的心態,才能在自己的技術之上實現突破! 今天有點像雞湯,迴歸正題,繼續更新我的學習筆記:Java技術中的 RMI與RPC的區別。 一:RPC遠端過程呼叫 RPC(Remote Procedure

JavahasNext()next()的區別,hasNextInt()nextInt()的區別,hasNextDouble()nextDouble()的區別

轉載自:https://blog.csdn.net/weixin_37770552/article/details/77431961 還有補充:https://zhidao.baidu.com/question/198579166802848525.html java.util.Scanne

Javacontinuebreak的區別

continue與break大家都知道是跳出語句,但其實他們存在一定的區別 continue :官方解釋為結束本次迴圈;