public abstract class SocketChannel extends AbstractSelectableChannel implements ByteChannel, ScatteringByteChannel, GatheringByteChannel, NetworkChannel
ãœã±ããã»ãã£ãã«ã¯ããã®ã¯ã©ã¹ã®openã¡ãœããã®1ã€ãåŒã³åºãããšã«ãã£ãŠäœæãããŸãã ä»»æã®æ¢åã®ãœã±ããçšã«ãã£ãã«ãäœæããããšã¯ã§ããŸããã æ°ããäœæããããœã±ããã»ãã£ãã«ã¯ãªãŒãã³ã§ãããæ¥ç¶ã¯ç¢ºç«ãããŠããŸããã æªæ¥ç¶ã®ãã£ãã«ã«å¯ŸããŠå
¥åæäœãåŒã³åºãããšãããšãNotYetConnectedExceptionãã¹ããŒãããŸãã ãœã±ããã»ãã£ãã«ãæ¥ç¶ããã«ã¯ãconnectã¡ãœãããåŒã³åºããŸããæ¥ç¶ããããœã±ããã»ãã£ãã«ã¯ãã¯ããŒãºãããŸã§æ¥ç¶ããããŸãŸã«ãªããŸãã ãœã±ããã»ãã£ãã«ãæ¥ç¶ãããŠãããã©ããã¯ãisConnectedã¡ãœããã®åŒåºãã«ãã£ãŠå€æã§ããŸãã
ãœã±ããã»ãã£ãã«ã¯éãããã¯æ¥ç¶ããµããŒãããŸãããœã±ããã»ãã£ãã«ã®äœæãšãªã¢ãŒãã»ãœã±ãããžã®ãªã³ã¯ã®ç¢ºç«ããã»ã¹ã¯connectã¡ãœããã«ãã£ãŠéå§ãããåŸã§finishConnectã¡ãœããã«ãã£ãŠå®äºããŸãã æ¥ç¶æäœãå®è¡äžã§ãããã©ããã¯ãisConnectionPendingã¡ãœããã®åŒåºãã«ãã£ãŠå€æã§ããŸãã
ãœã±ããã»ãã£ãã«ã¯ãChannelã¯ã©ã¹ã«æå®ãããŠããéåæã¯ããŒãºæäœãšãã䌌ãéåæåæ¢ããµããŒãããŸãã äžæ¹ã®ã¹ã¬ããããœã±ããã®ãã£ãã«ã«å¯ŸããèªèŸŒã¿æäœã®éäžã§ãããã¯ãããŠããã®ã«ãããäžæ¹ã®ã¹ã¬ããããœã±ããã®å
¥ååŽã忢ããå Žåããããã¯ãããã¹ã¬ããã®èªèŸŒã¿æäœã¯ããã€ããäžåèªã¿åãããšãªãçµäºãã-1ãè¿ããŸãã äžæ¹ã®ã¹ã¬ããããœã±ããã®ãã£ãã«ã«å¯ŸããæžèŸŒã¿æäœã®éäžã§ãããã¯ãããŠããã®ã«ãããäžæ¹ã®ã¹ã¬ããããœã±ããã®åºååŽã忢ããå Žåããããã¯ãããã¹ã¬ããã¯AsynchronousCloseExceptionãåãåããŸãã
ãœã±ããã»ãªãã·ã§ã³ã¯setOptionã¡ãœããã䜿çšããŠæ§æãããŸãã ãœã±ããã»ãã£ãã«ã§ã¯æ¬¡ã®ãªãã·ã§ã³ããµããŒããããŸãã
远å (å®è£ åºæ)ã®ãªãã·ã§ã³ããµããŒãã§ããå ŽåããããŸãã
ãªãã·ã§ã³å 説æ SO_SNDBUFãœã±ããéä¿¡ãããã¡ã®ãµã€ãº SO_RCVBUFãœã±ããåä¿¡ãããã¡ã®ãµã€ãº SO_KEEPALIVEæ¥ç¶ãããŒãã¢ã©ã€ãã«ããŸã SO_REUSEADDRã¢ãã¬ã¹ãåå©çšããŸã SO_LINGERéãããšãã«ããŒã¿ãååšããå Žåã¯é å»¶ããŸã(ãããã¯ã»ã¢ãŒãã«æ§æãããŠããå Žåã®ã¿) TCP_NODELAYNagleã¢ã«ãŽãªãºã ãç¡å¹ã«ããŸã
ãœã±ããã»ãã£ãã«ã¯ãè€æ°ã®äžŠè¡ã¹ã¬ããã§å®å
šã«äœ¿çšã§ããŸãã ããŒã¿ã°ã©ã ã»ãã£ãã«ã¯äžŠè¡èªã¿èŸŒã¿ããã³æžèŸŒã¿ããµããŒãããŸãããã ããèªèŸŒã¿ãè¡ãã¹ã¬ãããæžèŸŒã¿ãè¡ãã¹ã¬ãããç¹å®ã®æç¹ã§ã¯åžžã«1å以äžã§ãã connectã¡ãœãããšfinishConnectã¡ãœããã¯çžäºã«åæããŠãããããããã®ã¡ãœããã®åŒåºãäžã«èªã¿èŸŒã¿ãŸãã¯æžèŸŒã¿æäœãéå§ããããšãããšããã®åŠçã¯ãã®åŒåºããå®äºãããŸã§ãããã¯ãããŸãã
| 修食å | ã³ã³ã¹ãã©ã¯ã¿ | 説æ |
|---|---|---|
protected |
SocketChannel(SelectorProvider provider) |
ãã®ã¯ã©ã¹ã®æ°ããã€ã³ã¹ã¿ã³ã¹ãåæåããŸãã
|
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
abstract SocketChannel |
bind(SocketAddress local) |
ãã£ãã«ã®ãœã±ãããããŒã«ã«ã»ã¢ãã¬ã¹ã«ãã€ã³ãããŸãã
|
abstract boolean |
connect(SocketAddress remote) |
ãã®ãã£ãã«ã®ãœã±ãããæ¥ç¶ããŸãã
|
abstract boolean |
finishConnect() |
ãœã±ããã»ãã£ãã«ã®æ¥ç¶åŠçãå®äºããŸãã
|
abstract SocketAddress |
getLocalAddress() |
ãã®ãã£ãã«ã®ãœã±ããããã€ã³ããããŠãããœã±ããã»ã¢ãã¬ã¹ãè¿ããŸãã
|
abstract SocketAddress |
getRemoteAddress() |
ãã®ãã£ãã«ã®ãœã±ãããæ¥ç¶ãããŠãããªã¢ãŒãã»ã¢ãã¬ã¹ãè¿ããŸãã
|
abstract boolean |
isConnected() |
ãã®ãã£ãã«ã®ãããã¯ãŒã¯ã»ãœã±ãããæ¥ç¶ãããŠãããã©ããã倿ããŸãã
|
abstract boolean |
isConnectionPending() |
ãã®ãã£ãã«äžã§æ¥ç¶æäœãé²è¡äžãã©ããã倿ããŸãã
|
static SocketChannel |
open() |
ãœã±ããã»ãã£ãã«ããªãŒãã³ããŸãã
|
static SocketChannel |
open(SocketAddress remote) |
ãœã±ããã»ãã£ãã«ããªãŒãã³ãããªã¢ãŒãã»ã¢ãã¬ã¹ã«æ¥ç¶ããŸãã
|
abstract int |
read(ByteBuffer dst) |
ãã®ãã£ãã«ã®ãã€ãã»ã·ãŒã±ã³ã¹ãæå®ã®ãããã¡ã«èªã¿èŸŒã¿ãŸãã
|
long |
read(ByteBuffer[] dsts) |
ãã®ãã£ãã«ã®ãã€ãã»ã·ãŒã±ã³ã¹ãæå®ããããããã¡ã«èªã¿èŸŒã¿ãŸãã
|
abstract long |
read(ByteBuffer[] dsts, int offset, int length) |
ãã®ãã£ãã«ã®ãã€ãã»ã·ãŒã±ã³ã¹ãæå®ããããããã¡ã®ãµãã·ãŒã±ã³ã¹ã«èªã¿èŸŒã¿ãŸãã
|
abstract <T> SocketChannel |
setOption(SocketOption<T> name, T value) |
ãœã±ããã»ãªãã·ã§ã³ã®å€ãèšå®ããŸãã
|
abstract SocketChannel |
shutdownInput() |
ãã£ãã«ãéããã«èªã¿èŸŒãããã®æ¥ç¶ãã·ã£ããããŠã³ããŸãã
|
abstract SocketChannel |
shutdownOutput() |
ãã£ãã«ãéããã«æžã蟌ãããã®æ¥ç¶ãã·ã£ããããŠã³ããŸãã
|
abstract Socket |
socket() |
ãã®ãã£ãã«ã«é¢é£ãããœã±ãããååŸããŸãã
|
int |
validOps() |
ãã®ãã£ãã«ã®ãµããŒããããŠããæäœãèå¥ããæäœã»ãããè¿ããŸãã
|
abstract int |
write(ByteBuffer src) |
ãã®ãã£ãã«ã®ãã€ãã»ã·ãŒã±ã³ã¹ãæå®ã®ãããã¡ããæžãåºããŸãã
|
long |
write(ByteBuffer[] srcs) |
ãã®ãã£ãã«ã®ãã€ãã»ã·ãŒã±ã³ã¹ãæå®ããããããã¡ããæžãåºããŸãã
|
abstract long |
write(ByteBuffer[] srcs, int offset, int length) |
ãã®ãã£ãã«ã®ãã€ãã»ã·ãŒã±ã³ã¹ãæå®ããããããã¡ã®ãµãã·ãŒã±ã³ã¹ããæžãåºããŸãã
|
blockingLock, configureBlocking, implCloseChannel, implCloseSelectableChannel, implConfigureBlocking, isBlocking, isRegistered, keyFor, provider, registerregisterbegin, close, end, isOpenclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetOption, supportedOptionsprotected SocketChannel(SelectorProvider provider)
provider - ãã®ãã£ãã«ã®äœæå
ãããã€ãpublic static SocketChannel open() throws IOException
ã·ã¹ãã å
šäœã®ããã©ã«ãSelectorProviderãªããžã§ã¯ãã®openSocketChannelã¡ãœãããåŒã³åºãããšã§ãæ°ãããã£ãã«ãäœæãããŸãã
IOException - å
¥åºåãšã©ãŒãçºçããå Žåpublic static SocketChannel open(SocketAddress remote) throws IOException
ãã®ç°¡æã¡ãœããã¯ãopen()ã¡ãœãããåŒã³åºããŠçµæã®ãœã±ããã»ãã£ãã«ã«å¯ŸããŠconnectã¡ãœãããåŒã³åºãããããremoteã«æž¡ããŠããã®ãã£ãã«ãè¿ããå Žåãšåãããã«æ©èœããŸãã
remote - æ°ãããã£ãã«ã®æ¥ç¶å
ãªã¢ãŒãã»ã¢ãã¬ã¹AsynchronousCloseException - æ¥ç¶æäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - æ¥ç¶æäœã®é²è¡äžã«å¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåUnresolvedAddressException - æå®ããããªã¢ãŒãã»ã¢ãã¬ã¹ãå®å
šã«è§£æ±ºãããªãå ŽåUnsupportedAddressTypeException - æå®ããããªã¢ãŒãã»ã¢ãã¬ã¹ã®ã¿ã€ãããµããŒã察象å€ã®å ŽåSecurityException - ã»ãã¥ãªãã£ã»ãããŒãžã£ãã€ã³ã¹ããŒã«ãããŠããŠãæå®ããããªã¢ãŒãã»ãšã³ããã€ã³ããžã®ã¢ã¯ã»ã¹ãèš±å¯ãããŠããªãå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic final int validOps()
ãœã±ããã»ãã£ãã«ã§ã¯ãæ¥ç¶ãèªåãããã³æžèŸŒã¿ããµããŒããããããããã®ã¡ãœããã¯(SelectionKey.OP_CONNECT | SelectionKey.OP_READ | SelectionKey.OP_WRITE)ãè¿ããŸãã
validOpsãã¯ã©ã¹SelectableChannelpublic abstract SocketChannel bind(SocketAddress local) throws IOException
NetworkChannel ãã®ã¡ãœããã¯ããœã±ãããšããŒã«ã«ã»ã¢ãã¬ã¹ãšã®éã®é¢é£ä»ãã確ç«ããããã«äœ¿çšãããŸãã é¢é£ä»ãã確ç«ããããšããœã±ããã¯ãã£ãã«ãéãããããŸã§ãã€ã³ãããããŸãŸã«ãªããŸãã localãã©ã¡ãŒã¿ã®å€ãnullã®å Žåããœã±ããã¯èªåçã«å²ãåœãŠãããã¢ãã¬ã¹ã«ãã€ã³ããããŸãã
bindãã€ã³ã¿ãã§ãŒã¹NetworkChannellocal - ãœã±ããã®ãã€ã³ãå
ã®ã¢ãã¬ã¹ããŸãã¯èªåçã«å²ãåœãŠããããœã±ããã»ã¢ãã¬ã¹ã«ãœã±ããããã€ã³ãããå Žåã¯nullConnectionPendingException - ãã®ãã£ãã«ã§ãã§ã«éãããã¯æ¥ç¶æäœãå®è¡äžã§ããå ŽåAlreadyBoundException - ãœã±ããããã§ã«ãã€ã³ããããŠããå ŽåUnsupportedAddressTypeException - æå®ãããã¢ãã¬ã¹ã®ã¿ã€ãããµããŒã察象å€ã®å ŽåClosedChannelException - ãã£ãã«ãã¯ããŒãºããŠããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå ŽåSecurityException - ã»ãã¥ãªãã£ã»ãããŒãžã£ãã€ã³ã¹ããŒã«ãããŠããŠããã®checkListenã¡ãœãããæäœãæåŠããå ŽåNetworkChannel.getLocalAddress()public abstract <T> SocketChannel setOption(SocketOption<T> name, T value) throws IOException
NetworkChannelsetOptionãã€ã³ã¿ãã§ãŒã¹NetworkChannelT - ãœã±ããã»ãªãã·ã§ã³å€ã®ã¿ã€ãname - ãœã±ããã»ãªãã·ã§ã³value - ãœã±ããã»ãªãã·ã§ã³ã®å€ã äžéšã®ãœã±ããã»ãªãã·ã§ã³ã«å¯ŸããŠã¯ãnullã®å€ãæå¹ãªå€ã§ããå ŽåããããŸãã UnsupportedOperationException - ãã£ãã«ããœã±ããã»ãªãã·ã§ã³ããµããŒãããŠããªãå ŽåIllegalArgumentException - å€ããã®ãœã±ããã»ãªãã·ã§ã³ã«å¯ŸããŠæå¹ãªå€ã§ãªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåIOException - å
¥åºåãšã©ãŒãçºçããå ŽåStandardSocketOptionspublic abstract SocketChannel shutdownInput() throws IOException
èªåãçšã«ã·ã£ããããŠã³ããããšã«ãããã«ãã®ãã£ãã«ã§èªåããè¡ããšãã¹ããªãŒã ã®çµããã瀺ã-1ãè¿ãããŸãã æ¥ç¶ã®å
¥ååŽããã§ã«ã·ã£ããããŠã³ãããŠããå Žåã¯ããã®ã¡ãœãããåŒã³åºããŠãäœã®å¹æããããŸããã
NotYetConnectedException - ãã®ãã£ãã«ããŸã æ¥ç¶ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract SocketChannel shutdownOutput() throws IOException
æžèŸŒã¿çšã«ã·ã£ããããŠã³ããããšã«ãããã«ãã®ãã£ãã«ã«æžã蟌ãããšãããšãClosedChannelExceptionãã¹ããŒãããŸãã æ¥ç¶ã®åºååŽããã§ã«ã·ã£ããããŠã³ãããŠããå Žåã¯ããã®ã¡ãœãããåŒã³åºããŠãäœã®å¹æããããŸããã
NotYetConnectedException - ãã®ãã£ãã«ããŸã æ¥ç¶ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract Socket socket()
è¿ããããªããžã§ã¯ãã¯ãSocketã¯ã©ã¹ã§å®£èšãããŠããªãpublicã¡ãœããã¯å®£èšããŸããã
public abstract boolean isConnected()
ãªãŒãã³ã§æ¥ç¶ãããŠããå Žåã«ãããtruepublic abstract boolean isConnectionPending()
finishConnectã¡ãœãããåŒã³åºãããŠããªã)å Žåã«ãããtruepublic abstract boolean connect(SocketAddress remote) throws IOException
ãã®ãã£ãã«ãéãããã¯ã»ã¢ãŒãã®å Žåããã®ã¡ãœããã®åŒåºãã«ãããéãããã¯æ¥ç¶æäœãéå§ãããŸãã ããŒã«ã«æ¥ç¶ã®å Žåã®ããã«å³åº§ã«æ¥ç¶ã確ç«ãããå Žåããã®ã¡ãœããã¯trueãè¿ããŸãã ãã以å€ã®å Žåã¯falseãè¿ããããšã§finishConnectã¡ãœãããåŒã³åºãããšã«ãããæ¥ç¶æäœãå®äºããå¿
èŠããããŸãã
ãã®ãã£ãã«ããããã¯ã»ã¢ãŒãã®å Žåããã®ã¡ãœããã®åŒåºãã¯ãæ¥ç¶ã確ç«ããããå ¥åºåãšã©ãŒãçºçãããŸã§ãããã¯ãããŸãã
ãã®ã¡ãœããã¯ãSocketã¯ã©ã¹ãšãŸã£ããåãã»ãã¥ãªãã£ã»ãã§ãã¯ãè¡ããŸãã ã€ãŸããã»ãã¥ãªãã£ã»ãããŒãžã£ãã€ã³ã¹ããŒã«ãããŠããå Žåããã®ã¡ãœããã¯ããã®checkConnectã¡ãœãããæå®ããããªã¢ãŒãã»ãšã³ããã€ã³ãã®ã¢ãã¬ã¹ããã³ããŒãçªå·ãžã®æ¥ç¶ãèš±å¯ããããšã確èªããŸãã
ãã®ã¡ãœããã¯ãã€ã§ãåŒã³åºãããšãã§ããŸãã ãã®ã¡ãœãããåŒã³åºããŠããéäžã§ãã®ãã£ãã«ã«å¯Ÿããèªã¿åããŸãã¯æžèŸŒã¿æäœãåŒã³åºããå Žåãæåã®åŒåºããå®äºãããŸã§æ¬¡ã®åŒåºãã¯ãããã¯ãããŸãã æ¥ç¶ããããšããã倱æããå Žåãã€ãŸããã®ã¡ãœããã®åŒåºãããã§ãã¯äŸå€ãã¹ããŒããå Žåããã£ãã«ã¯ã¯ããŒãºãããŸãã
remote - ãã®ãã£ãã«ã®æ¥ç¶å
ãªã¢ãŒãã»ã¢ãã¬ã¹AlreadyConnectedException - ãã®ãã£ãã«ããã§ã«æ¥ç¶ãããŠããå ŽåConnectionPendingException - ãã®ãã£ãã«ã§ãã§ã«éãããã¯æ¥ç¶æäœãå®è¡äžã§ããå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåAsynchronousCloseException - æ¥ç¶æäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - æ¥ç¶æäœã®é²è¡äžã«å¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåUnresolvedAddressException - æå®ããããªã¢ãŒãã»ã¢ãã¬ã¹ãå®å
šã«è§£æ±ºãããªãå ŽåUnsupportedAddressTypeException - æå®ããããªã¢ãŒãã»ã¢ãã¬ã¹ã®ã¿ã€ãããµããŒã察象å€ã®å ŽåSecurityException - ã»ãã¥ãªãã£ã»ãããŒãžã£ãã€ã³ã¹ããŒã«ãããŠããŠãæå®ããããªã¢ãŒãã»ãšã³ããã€ã³ããžã®ã¢ã¯ã»ã¹ãèš±å¯ãããŠããªãå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract boolean finishConnect()
throws IOException
ãœã±ããã»ãã£ãã«ãéãããã¯ã»ã¢ãŒãã«ãããã®connectã¡ãœãããåŒã³åºããšãéãããã¯æ¥ç¶æäœãéå§ãããŸãã æ¥ç¶ã確ç«ãããããæ¥ç¶ã«å€±æããããšããœã±ããã»ãã£ãã«ã¯æ¥ç¶å¯èœãªç¶æ
ã«ãªããŸããããã§ãæ¥ç¶ã·ãŒã±ã³ã¹ãå®äºããããã«ããã®ã¡ãœãããåŒã³åºãããŸãã æ¥ç¶æäœã«å€±æããå Žåããã®ã¡ãœãããåŒã³åºããšé©åãªIOExceptionãã¹ããŒãããŸãã
ãã®ãã£ãã«ããã§ã«æ¥ç¶ãããŠããå Žåããã®ã¡ãœããã¯ãããã¯ããããã ã¡ã«trueãè¿ããŸãã ãã®ãã£ãã«ãéãããã¯ã»ã¢ãŒãã®å Žåãæ¥ç¶åŠçããŸã å®äºããŠããªããã°ããã®ã¡ãœããã¯falseãè¿ããŸãã ãã®ãã£ãã«ããããã¯ã»ã¢ãŒãã®å Žåãæ¥ç¶ãå®äºããã倱æãããŸã§ãã®ã¡ãœããã¯ãããã¯ãããŸãããªããæ¥ç¶ãå®äºããå Žåã¯trueãè¿ãããæ¥ç¶ã«å€±æããå Žåã¯ãã§ãã¯äŸå€ãã¹ããŒãããŸãã
ãã®ã¡ãœããã¯ãã€ã§ãåŒã³åºãããšãã§ããŸãã ãã®ã¡ãœãããåŒã³åºããŠããéäžã§ãã®ãã£ãã«ã«å¯Ÿããèªã¿åããŸãã¯æžèŸŒã¿æäœãåŒã³åºããå Žåãæåã®åŒåºããå®äºãããŸã§æ¬¡ã®åŒåºãã¯ãããã¯ãããŸãã æ¥ç¶ããããšããã倱æããå Žåãã€ãŸããã®ã¡ãœããã®åŒåºãããã§ãã¯äŸå€ãã¹ããŒããå Žåããã£ãã«ã¯ã¯ããŒãºãããŸãã
NoConnectionPendingException - ãã®ãã£ãã«ãæ¥ç¶ãããŠããããæ¥ç¶æäœãéå§ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåAsynchronousCloseException - æ¥ç¶æäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - æ¥ç¶æäœã®é²è¡äžã«å¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract SocketAddress getRemoteAddress() throws IOException
ãã£ãã«ãInternet Protocolãœã±ããã»ã¢ãã¬ã¹ã«ãã€ã³ãããã³æ¥ç¶ãããŠããå Žåã¯ããã®ã¡ãœããããã®æ»ãå€ã®åã¯InetSocketAddressã§ãã
nullClosedChannelException - ãã£ãã«ãã¯ããŒãºããŠããå ŽåIOException - å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract int read(ByteBuffer dst) throws IOException
ReadableByteChannelãã£ãã«ããæå€§rãã€ããèªã¿åãããšããŸããrã¯ããã®ã¡ãœãããåŒã³åºããšãã«ãããã¡å ã«æ®ã£ãŠãããã€ãæ°ãdst.remaining()ã«ãªããŸãã
é·ãn (0 <= n <= r)ã®ãã€ãã»ã·ãŒã±ã³ã¹ãèªã¿åããããšããŸãã ãã®ãã€ãã»ã·ãŒã±ã³ã¹ããããã¡ã«è»¢éããããããã·ãŒã±ã³ã¹å ã®æåã®ãã€ãã®ã€ã³ããã¯ã¹ã¯pãæåŸã®ãã€ãã®ã€ã³ããã¯ã¹ã¯p + n - 1ã«ãªããŸãããªããpã¯ããã®ã¡ãœãããåŒã³åºããããšãã®ãããã¡ã®äœçœ®ã§ãã ãããã¡ã®äœçœ®ã¯ãçµäºæã«p + nã«çãããªããŸãããªãããã«å€åã¯ãããŸããã
èªèŸŒã¿æäœã«ãã£ãŠãããã¡ããã£ã±ãã«ãªããšã¯ããããŸããããã€ããäžåèªã¿åãããªãå ŽåããããŸãã ãããã¡ããã£ã±ãã«ãªããã©ããã¯ããã£ãã«ã®æ¬æ¥ã®æ§è³ªãšç¶æ ã«ãã£ãŠæ±ºå®ããŸãã ããšãã°éãããã¯ã»ã¢ãŒãã®ãœã±ããã¯ããœã±ããã®å ¥åãããã¡ãããã ã¡ã«ååŸã§ãããã€ã以å€ãèªã¿åãããšãã§ããŸãããåæ§ã«ããã¡ã€ã«ã»ãã£ãã«ã¯ããã¡ã€ã«å ã®ãã€ã以å€ãèªã¿åãããšãã§ããŸããã ãã ãããã£ãã«ããããã¯ã»ã¢ãŒãã§ããããããã¡å ã®ãã€ãæ°ã1ãã€ã以äžã®å Žåã1ãã€ã以äžãèªã¿åããããŸã§ãã®ã¡ãœããã¯ãããã¯ãããããšã«ãªã£ãŠããŸãã
ãã®ã¡ãœããã¯ãã€ã§ãåŒã³åºãããšãã§ããŸãã ãã ããã»ãã®ã¹ã¬ããããã®ãã£ãã«ã«å¯ŸããŠèªèŸŒã¿æäœãéå§ããŠããå Žåããã®ã¡ãœããã®åŒåºãã¯æåã®æäœãçµãããŸã§ãããã¯ãããŸãã
readãã€ã³ã¿ãã§ãŒã¹ReadableByteChanneldst - ãã€ãã®è»¢éå
ãããã¡NotYetConnectedException - ãã®ãã£ãã«ããŸã æ¥ç¶ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåAsynchronousCloseException - èªåãæäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - èªåãæäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract long read(ByteBuffer[] dsts, int offset, int length) throws IOException
ScatteringByteChannelãã®ã¡ãœããåŒåºãã¯ããã®ãã£ãã«ããæå€§rãã€ããèªã¿åãããšããŸããrã¯ãæå®ããããããã¡é åã®æå®ããããµãã·ãŒã±ã³ã¹ã«æ®ã£ãŠããåèšãã€ãæ°ã§ãã
dsts[offset].remaining()
+ dsts[offset+1].remaining()
+ ... + dsts[offset+length-1].remaining()
(ãã®ã¡ãœããã®åŒã³åºãæç¹ã)
é·ãn (0 <= n <= r)ã®ãã€ãã»ã·ãŒã±ã³ã¹ãèªã¿åããããšããŸãã ãã®ã·ãŒã±ã³ã¹ã®æåã®dsts[offset].remaining()ãã€ããŸã§ã¯ãããã¡dsts[offset]ã«è»¢éãããæ¬¡ã®dsts[offset+1].remaining()ãã€ããŸã§ã¯ãããã¡dsts[offset+1]ã«è»¢éãããŸãããã€ãã»ã·ãŒã±ã³ã¹å šéšãæå®ããããããã¡ã«è»¢éããããŸã§ããã®åŠçãç¹°ãè¿ãããŸãã åãããã¡ã«ã¯æå€§éã®ãã€ãã転éããããããæçµæŽæ°ãããã¡ãé€ãåã ã®æŽæ°ãããã¡ã®æçµçãªäœçœ®ã¯ããã®ãããã¡ã®ãªããããšçãããªããŸãã
ãã®ã¡ãœããã¯ãã€ã§ãåŒã³åºãããšãã§ããŸãã ãã ããã»ãã®ã¹ã¬ããããã®ãã£ãã«ã«å¯ŸããŠèªèŸŒã¿æäœãéå§ããŠããå Žåããã®ã¡ãœããã®åŒåºãã¯æåã®æäœãçµãããŸã§ãããã¯ãããŸãã
readãã€ã³ã¿ãã§ãŒã¹ScatteringByteChanneldsts - ãã€ãã®è»¢éå
ãããã¡offset - æåã®ãã€ãã®è»¢éå
ãšãªããããã¡é
åå
ã®ãªãã»ãããdsts.length以äžã®è² ã§ãªãå€length - ã¢ã¯ã»ã¹ãããæå€§ãããã¡æ°ãdsts.length - offset以äžã®è² ã§ãªãå€NotYetConnectedException - ãã®ãã£ãã«ããŸã æ¥ç¶ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåAsynchronousCloseException - èªåãæäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - èªåãæäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic final long read(ByteBuffer[] dsts) throws IOException
ScatteringByteChannelãã®ã¡ãœãããc.read(dsts)ã®åœ¢åŒã§åŒã³åºããå Žåãæ¬¡ã®åŒã³åºããšåãçµæãåŸãããŸãã
c.read(dsts, 0, dsts.length);
readãã€ã³ã¿ãã§ãŒã¹ScatteringByteChanneldsts - ãã€ãã®è»¢éå
ãããã¡NotYetConnectedException - ãã®ãã£ãã«ããŸã æ¥ç¶ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåAsynchronousCloseException - èªåãæäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - èªåãæäœã®é²è¡äžã«ãå¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract int write(ByteBuffer src) throws IOException
WritableByteChannelãã£ãã«ã«æå€§rãã€ããæžã蟌ãããšããŸããrã¯ããã®ã¡ãœãããåŒã³åºããšãã«ãããã¡å ã«æ®ã£ãŠãããã€ãæ°ãsrc.remaining()ã«ãªããŸãã
é·ãn (0 <= n <= r)ã®ãã€ãã»ã·ãŒã±ã³ã¹ãæžã蟌ãŸãããšããŸãã ãã®ãã€ãã»ã·ãŒã±ã³ã¹ã¯ããããã¡ã®ã€ã³ããã¯ã¹pãã転éãããŸããpã¯ããã®ã¡ãœãããåŒã³åºããããšãã®ãããã¡ã®äœçœ®ã§ããæžã蟌ãŸããæåŸã®ãã€ãã®ã€ã³ããã¯ã¹ã¯p + n - 1ã«ãªããŸãã ãããã¡ã®äœçœ®ã¯ãçµäºæã«p + nã«çãããªããŸãããªãããã«å€åã¯ãããŸããã
ç¹ã«æå®ããªãããããèŠæ±ãããrãã€ãããã¹ãŠæžã蟌ãŸãããšæžèŸŒã¿æäœã¯çµäºããŸãã ãã£ãã«ã®çš®é¡ã«ãã£ãŠã¯ããã®ç¶æ ã«å¿ããŠãäžéšã®ãã€ãããæžã蟌ãŸããªãå ŽåãããŸã£ããæžèŸŒã¿ãè¡ãããªãå ŽåããããŸãã ããšãã°éãããã¯ã»ã¢ãŒãã®ãœã±ããã»ãã£ãã«ã§ã¯ããœã±ããã®åºåãããã¡å ã®ãã€ãæ°ãæå€§æžèŸŒã¿ãã€ãæ°ã«ãªããŸãã
ãã®ã¡ãœããã¯ãã€ã§ãåŒã³åºãããšãã§ããŸãã ãã ããã»ãã®ã¹ã¬ããããã®ãã£ãã«ã«å¯ŸããŠæžèŸŒã¿æäœãéå§ããŠããå Žåããã®ã¡ãœããã®åŒåºãã¯æåã®æäœãçµãããŸã§ãããã¯ãããŸãã
writeãã€ã³ã¿ãã§ãŒã¹WritableByteChannelsrc - ãã€ãã®ååŸå
ãããã¡NotYetConnectedException - ãã®ãã£ãã«ããŸã æ¥ç¶ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåAsynchronousCloseException - æžèŸŒã¿æäœã®é²è¡äžã«å¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - æžèŸŒã¿äžã«å¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract long write(ByteBuffer[] srcs, int offset, int length) throws IOException
GatheringByteChannelãã®ãã£ãã«ã«æå€§rãã€ããæžã蟌ãããšããŸããrã¯ãæå®ããããããã¡é åã®æå®ããããµãã·ãŒã±ã³ã¹ã«æ®ã£ãŠããåèšãã€ãæ°ã§ãã
srcs[offset].remaining()
+ srcs[offset+1].remaining()
+ ... + srcs[offset+length-1].remaining()
(ãã®ã¡ãœããã®åŒã³åºãæç¹ã)
é·ãn (0 <= n <= r)ã®ãã€ãã»ã·ãŒã±ã³ã¹ãæžã蟌ãŸãããšããŸãã ãã®ã·ãŒã±ã³ã¹ã®æåã®srcs[offset].remaining()ãã€ããŸã§ã¯ãããã¡srcs[offset]ããæžã蟌ãŸããæ¬¡ã®srcs[offset+1].remaining()ãã€ããŸã§ã¯ãããã¡srcs[offset+1]ããæžã蟌ãŸããŸãããã€ãã»ã·ãŒã±ã³ã¹å šéšãæžã蟌ãŸãããŸã§ããã®åŠçãç¹°ãè¿ãããŸãã åãããã¡ããæå€§éã®ãã€ãæ°ãæžã蟌ãŸãããããæŽæ°ãããåã ã®ãããã¡ã®æçµçãªäœçœ®ã¯ãæçµæŽæ°ãããã¡ãé€ããŠããã®ãããã¡ã®ãªããããšçãããªããŸãã
ç¹ã«æå®ããªãããããèŠæ±ãããrãã€ãããã¹ãŠæžã蟌ãŸãããšæžèŸŒã¿æäœã¯çµäºããŸãã ãã£ãã«ã®çš®é¡ã«ãã£ãŠã¯ããã®ç¶æ ã«å¿ããŠãäžéšã®ãã€ãããæžã蟌ãŸããªãå ŽåãããŸã£ããæžèŸŒã¿ãè¡ãããªãå ŽåããããŸãã ããšãã°éãããã¯ã»ã¢ãŒãã®ãœã±ããã»ãã£ãã«ã§ã¯ããœã±ããã®åºåãããã¡å ã®ãã€ãæ°ãæå€§æžèŸŒã¿ãã€ãæ°ã«ãªããŸãã
ãã®ã¡ãœããã¯ãã€ã§ãåŒã³åºãããšãã§ããŸãã ãã ããã»ãã®ã¹ã¬ããããã®ãã£ãã«ã«å¯ŸããŠæžèŸŒã¿æäœãéå§ããŠããå Žåããã®ã¡ãœããã®åŒåºãã¯æåã®æäœãçµãããŸã§ãããã¯ãããŸãã
writeãã€ã³ã¿ãã§ãŒã¹GatheringByteChannelsrcs - ãã€ãã®ååŸå
ãããã¡offset - æåã®ãã€ãã®ååŸå
ãšãªããããã¡é
åå
ã®ãªãã»ãããsrcs.length以äžã®è² ã§ãªãå€length - ã¢ã¯ã»ã¹ãããæå€§ãããã¡æ°ãsrcs.length - offset以äžã®è² ã§ãªãå€NotYetConnectedException - ãã®ãã£ãã«ããŸã æ¥ç¶ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåAsynchronousCloseException - æžèŸŒã¿æäœã®é²è¡äžã«å¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - æžèŸŒã¿äžã«å¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic final long write(ByteBuffer[] srcs) throws IOException
GatheringByteChannelãã®ã¡ãœãããc.write(srcs)ã®åœ¢åŒã§åŒã³åºããå Žåãæ¬¡ã®åŒã³åºããšåãçµæãåŸãããŸãã
c.write(srcs, 0, srcs.length);
writeãã€ã³ã¿ãã§ãŒã¹GatheringByteChannelsrcs - ãã€ãã®ååŸå
ãããã¡NotYetConnectedException - ãã®ãã£ãã«ããŸã æ¥ç¶ãããŠããªãå ŽåClosedChannelException - ãã®ãã£ãã«ãã¯ããŒãºããŠããå ŽåAsynchronousCloseException - æžèŸŒã¿æäœã®é²è¡äžã«å¥ã®ã¹ã¬ããã«ãã£ãŠãã®ãã£ãã«ãã¯ããŒãºãããå ŽåClosedByInterruptException - æžèŸŒã¿äžã«å¥ã®ã¹ã¬ããããã®å²èŸŒã¿ããã£ãããã«ãã£ãã«ãã¯ããŒãºããçŸåšã®ã¹ã¬ããã®å²èŸŒã¿ã¹ããŒã¿ã¹ãèšå®ãããå ŽåIOException - ãã®ä»ã®å
¥åºåãšã©ãŒãçºçããå Žåpublic abstract SocketAddress getLocalAddress() throws IOException
ãã£ãã«ãInternet Protocolãœã±ããã»ã¢ãã¬ã¹ã«ãã€ã³ããããŠããå Žåã¯ããã®ã¡ãœããããã®æ»ãå€ã®åã¯InetSocketAddressã§ãã
ã»ãã¥ãªãã£ã»ãããŒãžã£ãèšå®ãããŠããå Žåã¯ãã»ãã¥ãªãã£ã»ãããŒãžã£ã®checkConnectã¡ãœãããããŒã«ã«ã»ã¢ãã¬ã¹ããã³-1ãåŒæ°ãšããŠåŒã³åºãããæäœãèš±å¯ããããã©ããã確èªãããŸãã ãã®æäœãèš±å¯ãããªãå Žåã¯ãã«ãŒãããã¯ã»ã¢ãã¬ã¹ããã³ãã£ãã«ã®ãœã±ããã®ããŒã«ã«ã»ããŒãã衚ãSocketAddressãè¿ãããŸãã
getLocalAddressãã€ã³ã¿ãã§ãŒã¹NetworkChannelSocketAddressããŸãã¯ã»ãã¥ãªãã£ã»ãããŒãžã£ã«ãã£ãŠæåŠãããå Žåã¯ã«ãŒãããã¯ã»ã¢ãã¬ã¹ã衚ãSocketAddressããŸãã¯ãã£ãã«ã®ãœã±ããããã€ã³ããããŠããªãå Žåã¯nullClosedChannelException - ãã£ãã«ãã¯ããŒãºããŠããå ŽåIOException - å
¥åºåãšã©ãŒãçºçããå Žå ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã