當前位置:妙知谷 >

母嬰教育 >學習交流 >

Java語言Socket的基本概念

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接口,而不影響其他的端口。

Java語言Socket的基本概念
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/jy/jiaoliu/6qzq4.html