Java語言Socket的基本概念
Java語言Socket的基本概念
操作方法
(01)建立連接當需要建立網絡連接時,必須有一臺機器執行一個程序,隨時等候連接,而另一端的程序這對其發出連接請求。這一點同電話系統類似——必須有一方撥打電話,而另一方必須等候電話連通。建立連接的過程爲:(1)現在服務器端生成一個ServerSocket實例對象,隨時監聽客戶端的連接請求。(2)當客戶端需要連接時,相應地要生成一個Socket實例對象,併發出連接請求,其中host參數指明該主機名,port#參數指明該主機端口號。(3)服務器端透過accept()方法接收到客戶端的請求後,開闢一個接口與之進行連接,並生成所需的I/O數據流。(4)客戶端和服務器端的通信都是透過一對InputStream和OutputStream進行的,通信結束後,兩端分別關閉對應的Socket接口。
(02)連接地址打電話時,呼叫方必須事先知道所需撥打的號碼,而程序建立網絡連接時,也同樣需要知道地址或主機名稱。另外,網絡連接還需要一個端口號(可以將其當作電話的分機號),連接到正確的主機之後,需要對該連接確認特定口令。某些情況下,還需要使用一個擴展號碼與網絡計費系統相連,於是相應地要有一個特定端口號用於連接計費程序。
(03)端口號在TCP/IP系統中,端口號由16位二進制整數組成,即在0-65535之間。實際應用中,前1024個端口號已經預先定義爲一些特定服務,因此一般不能使用,除非想同這些服務器進行連接(如Telnet,SMTP,mail,ftp等)。在兩個程序連接之前,彼此之間必須達成一致,即由客戶端負責初始化連接,而服務器隨時等候請求。只有客戶端和服務器端指定端口號一致時連接纔會建立。如果系統中兩個程序所用端口號不一致,這連接無法建立。
(04)網絡連接模式在Java中,TCP/IP接口的連接是由包中的類實現的。如圖表示的是Socket連接過程中客戶端和服務器端的工作原理。每個server端都擁有一個端口號,一臺機器上如果執行多個服務,這可能對應多個端口號。通信結束後,兩端分別關閉對應的Socket接口,而不影響其他的端口。
-
獨角獸真的存在嗎?獨角獸的十大來歷和傳說
導語:有沒有想過獨角獸是真的?這隻強大的野獸只是個神話嗎?古往今來,有很多人在問世界上真的有獨角獸嗎?獨角獸有什麼特殊含義?之前小編爲大家講解過世上有龍的十大證據,接下來呢就爲大家揭祕獨角獸的十大來歷和傳說,感興趣的不妨一起往下看!獨角獸的十大來歷和傳...
-
皇族最純正的十個姓氏 這十個姓氏真正帶有皇室血統
導語:中華上下五千年,一直以來皇權都是處於至高無上的地位,只要和皇權可以捱上邊就是比較典型的皇親國戚了,而百家姓中皇族最純正的十個姓氏分別是張姓,李姓,王姓,黃姓,陳姓,楊姓,趙姓,周姓,吳姓,徐姓,和探祕志一起看看吧。1、張姓張姓是中國最尊貴的姓氏,是從姬姓起源的,據說...
-
ABO血型系統是什麼?血型是按照什麼來劃分的
導語:ABO血型系統是根據紅細胞表面有沒有特別的凝集原A和B來區分血液,最早是由德斯坦納在1900年發現和提出的,主要分爲A、B、AB、O四種血型,假如在紅細胞上只有凝集原A的話就是A型血,如果血型不適合就會引起凝集,從而導致血管堵塞,下面探祕志就帶大家一起看看ABO血型...
-
蝸牛有寄生蟲嗎
(01)蝸牛身上確實存在寄生蟲。其中一種常見的寄生蟲是雙盤吸蟲(又稱雙吸盤蟲)。這種寄生蟲在蝸牛的觸角中蠕動,可以吸引鳥類來捕食蝸牛。(02)雙盤吸蟲的生活史中有一個階段超過90%都是寄生在蝸牛體內的。雖然蝸牛身上有寄生蟲,但對人類而言,一般情況下接觸到蝸牛身上的...