国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼)

這篇具有很好參考價(jià)值的文章主要介紹了Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【版權(quán)聲明】未經(jīng)博主同意,謝絕轉(zhuǎn)載!(請(qǐng)尊重原創(chuàng),博主保留追究權(quán))
https://blog.csdn.net/m0_69908381/article/details/131608966
出自【進(jìn)步*于辰的博客】

注:
1、IP 類:InetAddress類;
2、套接字 IP 類:InetSocketAddress類;
3、套接字類:Socket類。

1、概述

繼承關(guān)系:

  • java.lang.Object
    • java.net.ServerSocket

實(shí)現(xiàn)的所有接口
Closeable、AutoCloseable
直接已知子類:
SSLServerSocket


public class ServerSocket extends Object

此類實(shí)現(xiàn)服務(wù)器套接字。服務(wù)器套接字等待請(qǐng)求通過網(wǎng)絡(luò)傳入。它基于該請(qǐng)求執(zhí)行某些操作,然后可能向請(qǐng)求者返回結(jié)果。

服務(wù)器套接字的實(shí)際工作由 SocketImpl 類的實(shí)例執(zhí)行。應(yīng)用程序可以更改創(chuàng)建套接字實(shí)現(xiàn)的套接字工廠來配置它自身,從而創(chuàng)建適合本地防火墻的套接字。

本質(zhì):
此類負(fù)責(zé)服務(wù)器套接字的搭建,其本質(zhì)也是套接字(Socket)。因此,除服務(wù)器搭建的相關(guān)功能之外,如:獲取輸入/輸出流、綁定套接字 IP,都是通過套接字類 來實(shí)現(xiàn)。(見源碼)

從以下版本開始:
JDK1.0
另請(qǐng)參見:
SocketImpl、setSocketFactory(java.net.SocketImplFactory)、ServerSocketChannel

2、構(gòu)造方法摘要

2.1 null

創(chuàng)建非綁定服務(wù)器套接字。
說明:
先看源碼。
Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼),Java-API,Java-API簡(jiǎn)析,ServerSocket
關(guān)于setImpl(),可參考套接字類的第5.2項(xiàng)。

2.2 int port

創(chuàng)建綁定到特定端口的服務(wù)器套接字。
說明:
先看源碼。
Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼),Java-API,Java-API簡(jiǎn)析,ServerSocket

指定:
連接請(qǐng)求)的最大隊(duì)列長度為 50
ip地址為 null。

底層調(diào)用第4項(xiàng)。

2.3 int port, int backlog

利用指定的 backlog 創(chuàng)建服務(wù)器套接字并將其綁定到指定的本地端口號(hào)。
說明:
先看源碼。
Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼),Java-API,Java-API簡(jiǎn)析,ServerSocket

指定:
ip地址為 null。

底層調(diào)用下1項(xiàng)。

2.4 int port, int backlog, InetAddress bindAddr

使用指定的端口、偵聽 backlog 和要綁定到的本地 IP 地址創(chuàng)建服務(wù)器。
說明:
先看源碼。
Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼),Java-API,Java-API簡(jiǎn)析,ServerSocket
關(guān)于setImpl(),可參考套接字類的第5.2項(xiàng);關(guān)于bind(),見第3.3項(xiàng)。

示例:

InetAddress ip = InetAddress.getByName("localhost");
ServerSocket server = new ServerSocket(8080, 1, ip);
sout "等待";
Socket client = server.accept();
sout "已連接";

業(yè)務(wù):通過本地 ip,建立在端口8080上,構(gòu)建Socket服務(wù)器,可接收1個(gè)連接請(qǐng)求。

3、方法摘要

3.1 Socket accept()

偵聽并接受到此套接字的連接。

3.2 void bind(SocketAddress endpoint)

將 ServerSocket 綁定到特定地址(IP 地址和端口號(hào))。
說明:
先看源碼。
Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼),Java-API,Java-API簡(jiǎn)析,ServerSocket

指定:
連接請(qǐng)求)的最大隊(duì)列長度為 50;

底層調(diào)用下1項(xiàng)。

3.3 void bind(SocketAddress endpoint, int backlog)

將 ServerSocket 綁定到特定地址(IP 地址和端口號(hào))。
說明:
先看源碼。
Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼),Java-API,Java-API簡(jiǎn)析,ServerSocket
關(guān)于isClosed(),見第14項(xiàng)。

!oldImpl && isBound()為 true 說明:

  1. bound = true,表示“已綁定”;
  2. oldImpl = false,表示當(dāng)前套接字實(shí)現(xiàn)類是“新的”(即“可用”)。(可進(jìn)一步證明在套接字類的第5.1項(xiàng)中我對(duì)字段oldImpl作用的判斷和總結(jié))

endpoint instanceof InetSocketAddress表示僅支持“套接字 IP”。

關(guān)于isUnresolved()/getAddress()/getPort(),見套接字 IP 類的第3.7、3.3、3.5項(xiàng);關(guān)于checkListen(),見SecurityManager類的第4.12項(xiàng);關(guān)于getImpl(),可參考套接字類的第5.6項(xiàng);關(guān)于bind(),見套接字類的第3.1項(xiàng)。

進(jìn)入listen()。(出自實(shí)現(xiàn)類 AbstractPlainSocketImpl)
Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼),Java-API,Java-API簡(jiǎn)析,ServerSocket
進(jìn)入socketListen()。(出自實(shí)現(xiàn)類 PlainSocketImpl)
Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼),Java-API,Java-API簡(jiǎn)析,ServerSocket
關(guān)于socketListen(),暫不知底層調(diào)用了哪里。

3.4 void close()

關(guān)閉此套接字。

3.5 ServerSocketChannel getChannel()

返回與此套接字關(guān)聯(lián)的惟一 ServerSocketChannel 對(duì)象(如果有)。

3.6 InetAddress getInetAddress()

返回此服務(wù)器套接字的本地地址。

3.7 int getLocalPort()

返回此套接字在其上偵聽的端口。

3.8 SocketAddress getLocalSocketAddress()

返回此套接字綁定的端點(diǎn)的地址,如果尚未綁定則返回 null。

3.9 int getReceiveBufferSize()

獲取此 ServerSocket 的 SO_RCVBUF 選項(xiàng)的值,該值是將用于從此 ServerSocket 接受的套接字的建議緩沖區(qū)大小。

3.10 int getReuseAddress()

測(cè)試是否啟用 SO_REUSEADDR。

3.11 int getSoTimeout()

重新恢復(fù) SO_TIMEOUT 的設(shè)置。

3.12 protected int implAccept(Socket s)

ServerSocket 的子類使用此方法重寫 accept() 以返回它們自己的套接字子類。

3.13 boolean isBound()

返回 ServerSocket 的綁定狀態(tài)。

3.14 boolean isClosed()

返回 ServerSocket 的關(guān)閉狀態(tài)。

3.15 void setPerformancePreferences(int connectionTime, int latency, int bandwidth)

設(shè)置此 ServerSocket 的性能偏好 (performance preferences)。

3.16 void setReceiveBufferSize(int size)

為從此 ServerSocket 接受的套接字的 SO_RCVBUF 選項(xiàng)設(shè)置默認(rèn)建議值。

3.17 void setReuseAddress(boolean on)

啟用/禁用 SO_REUSEADDR 套接字選項(xiàng)。

3.18 static void setSocketFactory(SocketImplFactory fac)

為應(yīng)用程序設(shè)置服務(wù)器套接字實(shí)現(xiàn)工廠。

3.19 void setSoTimeout(int timeout)

啟用/禁用帶有指定超時(shí)值的 SO_TIMEOUT,以毫秒為單位。

3.20 String toString()

作為 String 返回此套接字的實(shí)現(xiàn)地址和實(shí)現(xiàn)端口。

最后

如果大家需要Java-API文檔,我上傳了《Java-API文檔-包含5/8/11三個(gè)版本》。


本文暫緩更新。文章來源地址http://www.zghlxwxcb.cn/news/detail-545140.html

到了這里,關(guān)于Java-API簡(jiǎn)析_java.net.ServerSocket類(基于 Latest JDK)(淺析源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java-API簡(jiǎn)析_java.io.BufferedWriter類(基于 Latest JDK)(淺析源碼)

    Java-API簡(jiǎn)析_java.io.BufferedWriter類(基于 Latest JDK)(淺析源碼)

    【版權(quán)聲明】未經(jīng)博主同意,謝絕轉(zhuǎn)載?。ㄕ?qǐng)尊重原創(chuàng),博主保留追究權(quán)) https://blog.csdn.net/m0_69908381/article/details/131742088 出自【進(jìn)步*于辰的博客】 繼承關(guān)系: java.lang.Object java.io.Writer java.io.BufferedWriter 所有已實(shí)現(xiàn)的接口: Closeable、Flushable、Appendable public class BufferedWriter ext

    2024年02月16日
    瀏覽(14)
  • ES8 向量搜索(knn-search)java-api 實(shí)踐

    ES8 向量搜索(knn-search)java-api 實(shí)踐

    官方文檔-knn-search kNN搜索 k-nearest neighbor (kNN)搜索找到與查詢向量最近的k個(gè)向量,如通過相似度計(jì)算。 kNN的常見用例包括: 基于自然語言處理(NLP)算法的相關(guān)性排序 產(chǎn)品推薦和推薦引擎 圖像或視頻的相似性搜索 要運(yùn)行kNN搜索,您必須能夠?qū)?shù)據(jù)轉(zhuǎn)換為有意義的向量值

    2024年02月12日
    瀏覽(21)
  • Hadoop系統(tǒng)應(yīng)用之HDFS相關(guān)操作 - - Java-API對(duì)HDFS的操作(IDEA版)

    Hadoop系統(tǒng)應(yīng)用之HDFS相關(guān)操作 - - Java-API對(duì)HDFS的操作(IDEA版)

    通過Java API來操作HDFS文件系統(tǒng)HDFS,相關(guān)的操作有:文件上傳、文件下載、新建文件夾、查看文件、刪除文件。 1.Linux下安裝好hadoop,這里使用hadoop2.7.3 2.window解壓hadoop2.7.3的包 2.Windows下安裝好jdk1.8 ?3.Windows下安裝好IDEA,這里使用IDEA2022 4.Windows下安裝好maven,這里使用Maven3.6.3

    2024年02月05日
    瀏覽(26)
  • Java 網(wǎng)絡(luò)編程 —— ServerSocket 詳解

    ServerSocket 的構(gòu)造方法有以下幾種重載形式 參數(shù) port 指定服務(wù)器要綁定的端口(即服務(wù)器要監(jiān)聽的端口),參數(shù) backlog 指定客戶連接請(qǐng)求隊(duì)列的長度,參數(shù) bindAddr 指定服務(wù)器要綁定的 IP 地址 1. 綁定端口 除了第 1 個(gè)不帶參數(shù)的構(gòu)造方法,其他構(gòu)造方法都會(huì)使服務(wù)器與特定端口

    2024年02月02日
    瀏覽(22)
  • Java Socket和ServerSocket 使用

    Java Socket和ServerSocket 使用

    在Java中,Socket和ServerSocket是用于創(chuàng)建網(wǎng)絡(luò)連接的重要類。Socket類用于創(chuàng)建客戶端套接字,而ServerSocket類用于創(chuàng)建服務(wù)器套接字。在本文中,我們將討論Socket和ServerSocket的作用、使用方法以及相關(guān)代碼示例。 Socket是Java中用于創(chuàng)建客戶端套接字的類。它提供了一種機(jī)制,可以讓

    2024年02月03日
    瀏覽(27)
  • 【Java練習(xí)題匯總】《第一行代碼JAVA》網(wǎng)絡(luò)編程篇&集合體系篇&JDBC篇,匯總Java練習(xí)題——Socket 與ServerSocket、List和Set、Map~

    【Java練習(xí)題匯總】《第一行代碼JAVA》網(wǎng)絡(luò)編程篇&集合體系篇&JDBC篇,匯總Java練習(xí)題——Socket 與ServerSocket、List和Set、Map~

    一、填空題 在類集中存放單值的最大父接口是___________ ,存放一對(duì)值的最大父接口是___________ 。 ___________ 接口保存的數(shù)據(jù)是不允許重復(fù)的,并且___________ 子類是可以排序的,根據(jù)___________ 排序。 Java 類集可以使用的輸出方式是___________ 、___________ 、___________ 和___________ 。 在

    2024年02月13日
    瀏覽(28)
  • com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: con

    com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 在SpringCloud項(xiàng)目啟動(dòng)注冊(cè)中心Eureka時(shí)報(bào)這個(gè)錯(cuò) 先粗略的看下報(bào)錯(cuò)信息,意思是:注冊(cè)中心注冊(cè)不到服務(wù),那這里可能就是application.xml文件有錯(cuò)誤,注冊(cè)中心默認(rèn)的register-with-eureka: true,但是這里我

    2024年02月16日
    瀏覽(38)
  • 【Java基礎(chǔ)教程】(四十七)網(wǎng)絡(luò)編程篇:網(wǎng)絡(luò)通訊概念,TCP、UDP協(xié)議,Socket與ServerSocket類使用實(shí)踐與應(yīng)用場(chǎng)景~

    【Java基礎(chǔ)教程】(四十七)網(wǎng)絡(luò)編程篇:網(wǎng)絡(luò)通訊概念,TCP、UDP協(xié)議,Socket與ServerSocket類使用實(shí)踐與應(yīng)用場(chǎng)景~

    了解多線程與網(wǎng)絡(luò)編程的操作關(guān)系; 了解網(wǎng)絡(luò)程序開發(fā)的主要模式; 了解 TCP 程序的基本實(shí)現(xiàn); 在Java中,網(wǎng)絡(luò)編程的核心意義是實(shí)現(xiàn)不同電腦主機(jī)之間的數(shù)據(jù)交互。Java采用了一種簡(jiǎn)化的概念,將這個(gè)過程進(jìn)一步抽象為JVM(Java虛擬機(jī))進(jìn)程之間的通信??梢栽谕慌_(tái)電腦上

    2024年02月15日
    瀏覽(98)
  • 關(guān)于Java中單例模式(餓漢模式和懶漢模式)的簡(jiǎn)析

    關(guān)于Java中單例模式(餓漢模式和懶漢模式)的簡(jiǎn)析

    目錄 一.什么是單例模式 二.餓漢模式和懶漢模式 餓漢模式 代碼 懶漢模式 代碼 關(guān)于多線程安全的問題 如何解決懶漢模式多線程安全問題 雙if判斷 簡(jiǎn)單來說,就是我們?cè)诔绦蛑型ㄟ^代碼進(jìn)行限制,在該程序中 只能創(chuàng)建一個(gè)對(duì)象 因?yàn)橹荒軇?chuàng)建一個(gè)對(duì)象,所以對(duì)于我們而言就有兩種

    2024年02月10日
    瀏覽(21)
  • 基于hadoop的HBase JAVA API

    基于hadoop的HBase JAVA API

    摘要: ? HBase的Java API提供了一種與HBase數(shù)據(jù)庫進(jìn)行交互的方式,通過編寫Java程序可以連接到HBase集群并對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、檢索和處理。該API適用于大規(guī)模數(shù)據(jù)存儲(chǔ)、實(shí)時(shí)數(shù)據(jù)訪問和高擴(kuò)展性需求的場(chǎng)景。具有高可靠性、高擴(kuò)展性和高性能的特點(diǎn)。它可以處理海量數(shù)據(jù),并且支

    2024年02月03日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包