java socket 淺談

  計算機網絡裏傳輸的數據,主要包含報頭和內容,如ip數據報,tcp數據包,udp數據包

  流套接口提供了雙向的,有序的,無重複並且無記錄邊界的數據流服務,TCP是一種流套接口協議

  數據報套接口支持雙向的數據流,但並不保證是可靠,有序,無重複的,即,一個以數據報套接口接收的信息的進程有可能發現信息重複了,或者和發出的順序不同,

  數據報套接口的一個重要特點是它保留了記錄邊界,UDP是數據報套接口協議

  默認的Socket編程是通過TCP/IP協議進行通訊的


  1:套接口類(Socket)


    (1)Socket的構造方法,有下面幾種:

  

           Socket(String host,int port) throws UnknownHostException, IOException 構造一個流套接口(即Socket對象),利用TCP協議將其連接至特定主機host的特定端口port上,參數host爲主機名,port爲端口號。


          Socket(InetAddress address, int port)  構造一個流套接口,並把它連接到特定IP地址address的主機和特定端口port上,參數address爲特定的ip地址,port爲端口。

          Socket(InetAddress address, int port boolean stream) 構造一個套接口,根據stream決定該套接口是流套接口還是數據報套接口,address爲主機ip地址,port爲端口。


   (2)套接口類的主要方法


               1. 主要方法包括:

                     InetAddress getInetAddress() 返回該套接口所連接的ip地址

                     int getPort()   返回該套接口所連接的端口

                     sychronized void close() throws IOException 關閉套接口

                     InputStream getInputStream () throws IOException  獲得與套接口綁定的數據輸入流對象

                     InputStream getOutputStream () throws IOException  獲得與套接口綁定的數據輸出流對象

               2.服務器套接口類(ServerSocket)

                       (1)服務器套接口類的構造方法,有兩種構造方法

                         ServerSocket(int port, int count)  構造一個服務器套接口,即構造一個ServerSocket實體對象,並且該對象是與指定的當地端口綁定,此外,可對其進行監聽

                            。用戶可以通過將port設置爲0來將該對象與一個匿名端口連接,count指容許等待對該ServerSocket對象的連接的個數。

                           (2)服務器套接口類主要方法

                             Socket accept() throws IOException  服務器等待連接,該方法將阻塞當前服務線程,直到連接到來,該方法返回一個新的套接口類對象,通過該對象,與客戶套接口進行通信。

                            void close() throws IOException 關閉套接口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章