ServerSocketChannel API用法

java.nio.channels
類 ServerSocketChannel

java.lang.Objectjava.nio.channels.spi.AbstractInterruptibleChanneljava.nio.channels.SelectableChanneljava.nio.channels.spi.AbstractSelectableChanneljava.nio.channels.ServerSocketChannel
所有已實現的接口:
Closeable, Channel, InterruptibleChannel

public abstract class ServerSocketChannelextends AbstractSelectableChannel

針對面向流的偵聽套接字的可選擇通道。

服務器套接字通道不是偵聽網絡套接字的完整抽象。必須通過調用 socket 方法所獲得的關聯 ServerSocket 對象來完成對套接字選項的綁定和操作。不可能為任意的已有服務器套接字創建通道,也不可能指定與服務器套接字通道關聯的服務器套接字所使用的 SocketImpl 對象。

通過調用此類的 open 方法創建服務器套接字通道。新創建的服務器套接字通道已打開,但尚未綁定。試圖調用未綁定的服務器套接字通道的 accept 方法會導致拋出 NotYetBoundException。可通過調用相關服務器套接字的某個 bind 方法來綁定服務器套接字通道。

多個并發線程可安全地使用服務器套接字通道。

從以下版本開始:
1.4

構造方法摘要
protected ServerSocketChannel(SelectorProvider?provider) ??????????初始化此類的一個新實例。

?

方法摘要
abstract ?SocketChannelaccept() ??????????接受到此通道套接字的連接。
static?ServerSocketChannelopen() ??????????打開服務器套接字通道。
abstract ?ServerSocketsocket() ??????????獲取與此通道關聯的服務器套接字。
?intvalidOps() ??????????返回一個操作集,標識此通道所支持的操作。

?

從類 java.nio.channels.spi.AbstractSelectableChannel 繼承的方法
blockingLock, configureBlocking, implCloseChannel, implCloseSelectableChannel, implConfigureBlocking, isBlocking, isRegistered, keyFor, provider, register

?

從類 java.nio.channels.SelectableChannel 繼承的方法
register

?

從類 java.nio.channels.spi.AbstractInterruptibleChannel 繼承的方法
begin, close, end, isOpen

?

從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

?

從接口 java.nio.channels.Channel 繼承的方法
close, isOpen

?

構造方法詳細信息

ServerSocketChannel

protected ServerSocketChannel(SelectorProvider?provider)
初始化此類的一個新實例。
方法詳細信息

open

public static ServerSocketChannel open()throws IOException
打開服務器套接字通道。

通過調用系統級默認 SelectorProvider 對象的 openServerSocketChannel 方法來創建新的通道。

新通道的套接字最初是未綁定的;可以接受連接之前,必須通過它的某個套接字的 bind 方法將其綁定到具體的地址。

返回:
新的套接字通道
拋出:
IOException - 如果發生 I/O 錯誤

validOps

public final int validOps()
返回一個操作集,標識此通道所支持的操作。

服務器套接字通道僅支持接受新的連接,所以此方法返回 SelectionKey.OP_ACCEPT。

指定者:
SelectableChannel 中的 validOps
返回:
有效操作集

socket

public abstract ServerSocket socket()
獲取與此通道關聯的服務器套接字。

返回的對象不會聲明任何在 ServerSocket 類中未聲明的公共方法。

返回:
與此通道關聯的服務器套接字

accept

public abstract SocketChannel accept()throws IOException
接受到此通道套接字的連接。

如果此通道處于非阻塞模式,那么在不存在掛起的連接時,此方法將直接返回 null。否則,在新的連接可用或者發生 I/O 錯誤之前會無限期地阻塞它。

不管此通道的阻塞模式如何,此方法返回的套接字通道(如果有)將處于阻塞模式。

此方法執行的安全檢查與 ServerSocket 類的 accept 方法執行的安全檢查完全相同。也就是說,如果已安裝了安全管理器,則對于每個新的連接,此方法都會驗證安全管理器的 checkAccept 方法是否允許使用該連接的遠程端點的地址和端口號。

返回:
用于新連接的套接字通道,或者如果此通道處于非阻塞模式并且沒有要接受的可用連接,則返回 null
拋出:
ClosedChannelException - 如果此通道已關閉
AsynchronousCloseException - 如果正在進行接受操作時另一個線程關閉了此通道
ClosedByInterruptException - 如果正在進行接受操作時另一個線程中斷了當前線程,因此關閉了該通道并將當前線程的狀態設置為中斷
NotYetBoundException - 如果尚未綁定此通道的套接字
SecurityException - 如果已安裝安全管理器并且它不允許對新連接的遠程端點進行訪問
IOException - 如果發生其他 I/O 錯誤

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/457341.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457341.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457341.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jq分頁 不刷新頁面_jQuery無刷新分頁完整實例代碼

本文實例講述了jQuery無刷新分頁實現方法。分享給大家供大家參考,具體如下:這款jQuery分頁示例,是分頁經典形式,兼容性也做的好,網頁上的分頁代碼,分享給大家。運行效果截圖如下:在線演示地址如…

為什么要寫年終總結

2016只剩下不到百分之一的時間了,網上陸續看到各種企業或個人的總結或盤點,公司也必須規定每個員工要做年度工作總結,或許是環境釋然,心里也有無數次要做總結的念頭,尤其是月末年末這種感覺更重,但卻沒靜下…

特別慢_背什么都特別慢,該怎么提高記憶力?

考研是一項全方位的比拼,除了每天進行知識點的復習,還要做題、總結,最后還得進行背誦記憶,其實什么科目都需要背的,就算數學,該記的概念和公式也是要記憶的,因為會做題更快,提高效率…

tiny4412u-boot燒寫及根文件系統制作(不進入終端問題)

http://m.blog.csdn.net/article/details?id51400196(轉) VMware12 環境:ubuntu12.4 開發板:tiny4412 首先燒寫bootloader,我用一個8G的內存卡,現在不說sd卡的制作過程了,網上可以參考。 現在就…

第三章 中間件,3.1 萬億級數據洪峰下的分布式消息引擎(作者:馮嘉、誓嘉、塵央、牟羽)...

3.1 萬億級數據洪峰下的分布式消息引擎 前言 通過簡單回顧阿里中間件(Aliware)消息引擎的發展史,本文開篇于雙11消息引擎面臨的低延遲挑戰,通過經典的應用場景闡述可能會面臨的問題 - 響應慢,雪崩,用戶體驗差,繼而交易…

Linux目錄結構和常用命令

一、Linux目錄結構 你想知道為什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目錄下嗎?例如,less命令位于/usr/bin目錄下。為什么沒在/bin中,或/sbin,或/usr/sbin目錄中&#xff1…

掛載nfs文件系統_綜合架構-day38-NFS服務補充

1.如何讓nfs永久掛載-2種方法開機自啟動文件1.vim /etc/rc.d/rc.local需要修改執行權限chmod x /etc/rc.d/rc/localmount -t nfs 172.16.1.31:/upload/ /mnt/2.vim /etc/fstab172.16.1.31:/upload /mnt nfs defaults 0 02.exportfs 加載配置生效,等價于優雅重啟[15:…

A Neural Algorithm of Artistic Style

本系列文章由 yhl_leo 出品,轉載請注明出處。 文章鏈接: http://blog.csdn.net/yhl_leo/article/details/53931536 1. 資源 Paper: A Neural Algorithm of Artistic StyleTensorFlow version in GitHub: anishathalye/neural-styleCaffe version in GitH…

CSS布局奇淫技巧之--各種居中

居中是我們使用css來布局時常遇到的情況。使用css來進行居中時,有時一個屬性就能搞定,有時則需要一定的技巧才能兼容到所有瀏覽器,本文就居中的一些常用方法做個簡單的介紹。 注:本文所講方法除了特別說明外,都是兼容I…

手寫數字識別中多元分類原理_廣告行業中那些趣事系列:從理論到實戰BERT知識蒸餾...

導讀:本文將介紹在廣告行業中自然語言處理和推薦系統實踐。本文主要分享從理論到實戰知識蒸餾,對知識蒸餾感興趣的小伙伴可以一起溝通交流。摘要:本篇主要分享從理論到實戰知識蒸餾。首先講了下為什么要學習知識蒸餾。一切源于業務需求&#…

linux zip/unzip命令

2019獨角獸企業重金招聘Python工程師標準>>> 語  法&#xff1a;zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目錄>][-ll][-n <字 尾字符串>][-t <日 期時間>][-<壓 縮效率>][壓 縮文件][文件...][-i <范本樣式>][-x <范本樣式…

離散事件模擬

1. 離散事件系統模擬 被模擬系統的行為&#xff1a; 可以抽象為一些離散事件的發生&#xff1b;所發生事件可以引發新的事件&#xff08;拓撲序&#xff09;&#xff1b;人們希望通過計算機模擬理解系統行為&#xff0c;評價或設計真實世界中實際的或所需的系統&#xff1b;適用…

epoll邊緣觸發_C++回聲服務器_9-epoll邊緣觸發模式版本服務器

epoll默認情況下是水平觸發模式&#xff0c;這次將epoll設置為邊緣觸發模式來實現服務器&#xff0c;而客戶端直接使用完美回聲服務器的客戶端。服務器代碼#include #include #include #include #include #include #include #include #include const int BUF_SIZE 4;const int…

利用dbstart和dbshut腳本自動啟動和停止數據庫的問題

客戶的兩臺IBM Power 740小型機使用HACMP軟件創建互備關系的數據庫服務器&#xff0c;每臺小型機運行一個數據庫&#xff0c;任何一臺服務器出現故障宕機&#xff0c;另一臺小型機應該立即接管&#xff0c;且要一并接管數據庫&#xff0c;這時在一臺小型機上就運行了兩個數據庫…

在Windows下不使用密碼遠程登陸Linux

在登陸Linux進行管理的時候我們通常會使用用戶名和密碼進行登陸&#xff0c;這樣一來是比較麻煩&#xff0c;二來是不安全&#xff0c;為了解決這個問題&#xff0c;我們可以使用公私鑰 (public keys和private keys)進行認證。簡單來說公鑰存放在服務器上&#xff0c;私鑰存放在…

dto 是只給前端需要的數據嗎_DO、VO、DTO...XXOO,你弄明白了么

技術公眾號&#xff1a;Java In Mind(Java_In_Mind),歡迎關注&#xff01;背景我相信&#xff0c;剛開始學習接觸企業代碼的時候&#xff0c;一定會發現&#xff0c;工程中充斥著各種XO&#xff1a;DO、VO、DTO、DAO&#xff0c;還有各種名詞&#xff1a;POJO&#xff0c;JavaB…

Javascript判斷object還是list/array的類型(包含javascript的數據類型研究)

前提&#xff1a;先研究javascript中的變量有幾種&#xff0c;參考&#xff1a; http://www.w3school.com.cn/js/js_datatypes.asp http://glzaction.iteye.com/blog/1285147 測試1&#xff1a; typeof關鍵字 var obj {test:test}; typeof obj;//輸出object var list [{test:t…

Core Data

簡介 Core Data是iOS5之后才出現的一個框架&#xff0c;它提供了對象-關系映射(ORM)的功能&#xff0c;即能夠將OC對象轉化成數據&#xff0c;保存在SQLite數據庫文件中&#xff0c;也能夠將保存在數據庫中的數據還原成OC對象。在此數據操作期間&#xff0c;我們不需要編寫任何…

tbase同步mysql_mysql主從同步

MySQL主從介紹MySQL主從叫做Replication、AB復制&#xff0c;A和B做主從后&#xff0c;在A上寫數據。B上也會同步A的數據&#xff0c;兩者實現實時同步MySQL是基于binlog日志來同步的&#xff0c;主上必須開啟binlog才能進行主從同步&#xff0c;同步過程大概有三個步驟(1)主將…

2017將轉行進行到底

2016 年說著轉行&#xff0c;最后還是在匆匆中找了一份老本行&#xff0c;此刻的心情還是無愛&#xff0c;畢竟螺絲一直分不清啊&#xff0c;不喜歡就是不喜歡。看了django的教程&#xff0c;不得不感嘆國外的書寫的相對優秀一點&#xff0c;《learning django web development…