|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.SelectableChannel
java.nio.channels.spi.AbstractSelectableChannel
java.nio.channels.SocketChannel
public abstract class SocketChannel
½ºÆ®¸²Çü Á¢¼Ó ¼ÒÄÏ¿ëÀÇ ¼±Åà °¡´É ä³ÎÀÔ´Ï´Ù.
¼ÒÄÏ Ã¤³ÎÀº ³×Æ®¿öÅ© ¼ÒÄÏ Á¢¼ÓÀÇ ¿ÏÀüÇÑ Ãß»óȰ¡ ¾Æ´Õ´Ï´Ù. ¼ÒÄÏ ¿É¼ÇÀÇ ¹ÙÀεå, Á¤Áö, Á¶ÀÛÀº, socket
¸Þ¼µåÀÇ È£Ãâ¿¡ ÀÇÇØ ÃëµæÇÑ °ü·Ã Socket
°´Ã¼¸¦ °³ÀÔ½ÃÄÑ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÓÀÇÀÇ ±âÁ¸ ¼ÒÄÏÀÇ Ã¤³ÎÀ» ÀÛ¼ºÇϰųª ¼ÒÄÏ Ã¤³Î¿¡ °ü·ÃÇÑ ¼ÒÄÏÀ¸·Î SocketImpl
°´Ã¼¸¦ »ç¿ëÇϵµ·Ï ÁöÁ¤Çϰųª ÇÒ ¼ö ¾ø½À´Ï´Ù.
¼ÒÄÏ Ã¤³ÎÀº ÀÌ Å¬·¡½ºÀÇ open
¸Þ¼µå¸¦ È£ÃâÇϸé ÀÛ¼ºµË´Ï´Ù. »õ·Ó°Ô ÀÛ¼ºµÈ ¼ÒÄÏ Ã¤³ÎÀº ¿ÀÇÂÀÔ´Ï´Ù¸¸, ¹ÌÁ¢¼ÓÀÔ´Ï´Ù. ¹ÌÁ¢¼ÓÀÇ ¼ÒÄÏ Ã¤³Î¿¡ ´ëÇØ¼ ÀÔÃâ·Â Á¶ÀÛÀ» È£ÃâÇÏ·Á°í Çϸé, NotYetConnectedException
À» ¹ß»ý½Ãŵ´Ï´Ù. ¼ÒÄÏ Ã¤³ÎÀ» Á¢¼ÓÇÏ·Á¸é,
¼ÒÄÏ Ã¤³ÎÀÇ connect
¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. Á¢¼ÓµÈ ¼ÒÄÏ Ã¤³ÎÀº Ŭ·Î¿ìÁî ÇÒ ¶§±îÁö Á¢¼ÓµÈ ä·Î ÀÖ½À´Ï´Ù. ¼ÒÄÏ Ã¤³ÎÀÌ Á¢¼ÓµÇ°í ÀÖÀ»Áö ¾î¶³Áö´Â isConnected
¸Þ¼µåÀÇ È£Ãâ¿¡ ÀÇÇØ ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù.
¼ÒÄÏ Ã¤³ÎÀº ¡¸ºñºí·Ï Á¢¼Ó¡¹À» Áö¿ø
ÇÕ´Ï´Ù. ¼ÒÄÏ Ã¤³ÎÀÇ ÀÛ¼º°ú ¸®¸ðÆ® ¼ÒÄÏ¿¡ÀÇ ¸µÅ©ÀÇ È®¸³ ÇÁ·Î¼¼½º´Â connect
¸Þ¼µå¿¡ ÀÇÇØ ½ÃÀ۵Ǿî
³ªÁß¿¡ finishConnect
¸Þ¼µå¿¡ ÀÇÇØ ¿Ï·áÇÕ´Ï´Ù. Á¢¼Ó Á¶ÀÛÀÌ ½ÇÇàÁßÀÏÁö ¾î¶³Áö´Â isConnectionPending
¸Þ¼µåÀÇ È£Ãâ¿¡ ÀÇÇØ ÆÇ´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù.
¼ÒÄÏ Ã¤³ÎÀÇ ÀÔ·ÂÃø°ú Ãâ·ÂÃøÀº ½ÇÁ¦·Î ä³ÎÀ» Ŭ·Î¿ìÁî ÇÏ´Â ÀÏ ¾øÀÌ, µû·Î µû·Î ¡¸Á¤Áö¡¹ÇÒ ¼ö ÀÖ½À´Ï´Ù. °ü·Ã ¼ÒÄÏ °´Ã¼ÀÇ shutdownInput
¸Þ¼µå¸¦ È£ÃâÇØ ä³ÎÀÇ ÀÔ·ÂÃøÀ» Á¤ÁöÇÑµÚ ¶ÇÇÑ
ä³ÎÀ» Àо·Á°í Çϸé, ½ºÆ®¸²ÀÇ ¸¶Áö¸·À» ³ªÅ¸³»´Â -1 ÀÌ ¸®Åϵ˴ϴÙ
. °ü·Ã ¼ÒÄÏ °´Ã¼ÀÇ shutdownOutput
¸Þ¼µå¸¦ È£ÃâÇØ ä³ÎÀÇ Ãâ·ÂÃøÀ» Á¤ÁöÇÑµÚ ¶ÇÇÑ
ä³Î¿¡ Ãâ·ÂÇÏ·Á°í Çϸé, ClosedChannelException
À» ¹ß»ý½Ãŵ´Ï´Ù.
¼ÒÄÏ Ã¤³ÎÀº, Channel
Ŭ·¡½º·Î °¡¸®Å°´Â ºñµ¿±â Ŭ·Î¿ìÁî Á¶ÀÛ°ú ÀÚÁÖ ´àÀº ¡¸ºñµ¿±â Á¤Áö¡¹¸¦ Áö¿ø
ÇÕ´Ï´Ù. ¼ÒÄÏÀÇ Ã¤³Î¿¡ ´ëÇÑ read Á¶ÀÛÀÇ µµÁß¿¡ ºí·Ï µÈ thread°¡ ÀÖÀ» ¶§, ´Ù¸¥ thread°¡ ¼ÒÄÏÀÇ ÀÔ·ÂÃøÀ» Á¤ÁöÇßÀ» °æ¿ì, ºí·Ï µÈ threadÀÇ read Á¶ÀÛÀº ¹ÙÀÌÆ®¸¦ ÀÏÀý Àо´Â ÀÏ ¾øÀÌ Á¾·áÇØ, -1¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¼ÒÄÏÀÇ Ã¤³Î¿¡ ´ëÇÑ Ãâ·Â Á¶ÀÛÀÇ µµÁß¿¡ ºí·Ï µÈ thread°¡ ÀÖÀ» ¶§, ´Ù¸¥ thread°¡ ¼ÒÄÏÀÇ Ãâ·ÂÃøÀ» Á¤ÁöÇßÀ» °æ¿ì, ºí·Ï µÈ thread´Â AsynchronousCloseException
¸¦
¹Þ½À´Ï´Ù.
¼ÒÄÏ Ã¤³ÎÀº º¹¼öÀÇ º´Çà thread·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼ÒÄÏ Ã¤³ÎÀº º´Çà read ¹× º´Çà write¸¦ Áö¿ø
ÇÕ´Ï´Ù. ´Ù¸¸, read¸¦ ½Ç½ÃÇÏ´Â thread¿Í write¸¦ ½Ç½ÃÇÏ´Â thread´Â Ç×»ó 1°³
ÀÌÇÏÀÔ´Ï´Ù. connect
¸Þ¼µå¿Í finishConnect
¸Þ¼µå´Â ¼·Î µ¿±â Çϰí ÀÖ¾î, ¾î´À ÂÊÀÎÁö ÇÑÆíÀÇ ¸Þ¼µåÀÇ Ã³¸®°¡ ÁøÇàÁß¿¡ Àбâ
¶Ç´Â Ãâ·ÂÁ¶ÀÛÀ» °³½ÃÇÏ·Á°í Çϸé, ±× 󸮴 ¸Þ¼µåÀÇ È£Ãâ 󸮰¡ ¿Ï·áÇÒ ¶§±îÁö ºí·Ï µË´Ï´Ù.
»ý¼ºÀÚ °³¿ä | |
---|---|
protected |
SocketChannel (SelectorProvider provider)
ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈÇÕ´Ï´Ù. |
¸Þ¼µå °³¿ä | |
---|---|
abstract boolean |
connect (SocketAddress remote)
ÀÌ Ã¤³ÎÀÇ ¼ÒÄÏÀ» Á¢¼ÓÇÕ´Ï´Ù. |
abstract boolean |
finishConnect ()
¼ÒÄÏ Ã¤³ÎÀÇ Á¢¼Ó 󸮸¦ ¿Ï·áÇÕ´Ï´Ù. |
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 Socket |
socket ()
ÀÌ Ã¤³Î¿¡ °ü·ÃÇÑ ¼ÒÄÏÀ» ÃëµæÇÕ´Ï´Ù. |
int |
validOps ()
ÀÌ Ã¤³ÎÀÇ Áö¿ø µÇ°í ÀÖ´Â Á¶ÀÛÀ» ½Äº°ÇÏ´Â Á¶ÀÛ ¼¼Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
abstract int |
write (ByteBuffer src)
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼¸¦ ÁöÁ¤ÀÇ ¹öÆÛ·ÎºÎÅÍ ½á³À´Ï´Ù. |
long |
write (ByteBuffer [] srcs)
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼°¡ ÁöÁ¤µÈ ¹öÆÛ·ÎºÎÅÍ ½á³À´Ï´Ù. |
abstract long |
write (ByteBuffer [] srcs,
int offset,
int length)
ÀÌ Ã¤³ÎÀÇ ¹ÙÀÌÆ® ¼ø¼°¡ ÁöÁ¤µÈ ¹öÆÛÀÇ ¼ºê ¼ø¼·ÎºÎÅÍ ½á³À´Ï´Ù. |
Ŭ·¡½º 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 |
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
close,
isOpen |
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
close,
isOpen |
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
close,
isOpen |
»ý¼ºÀÚ »ó¼¼ |
---|
protected SocketChannel(SelectorProvider provider)
¸Þ¼µåÀÇ »ó¼¼ |
---|
public static SocketChannel open() throws IOException
»õ·Î¿î ä³ÎÀº ½Ã½ºÅÛ ÀüüÀÇ µðÆúÆ®ÀÎ SelectorProvider
°´Ã¼ÀÇ openSocketChannel
¸Þ¼µå¸¦ È£ÃâÇϸé ÀÛ¼ºµË´Ï´Ù.
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic static SocketChannel open(SocketAddress remote) throws IOException
ÀÌ °£ÀÌ ¸Þ¼µå´Â open()
¸Þ¼µå¸¦ È£ÃâÇØ, ÀÛ¼ºµÈ ¼ÒÄÏ Ã¤³Î¿¡ ´ëÇØ¼ remote¸¦ ÁöÁ¤ÇÑ connect
¸Þ¼µå¸¦ È£ÃâÇßÀ» °æ¿ì¿Í °°ÀÌ ±â´ÉÇÕ´Ï´Ù. ¹Ýȯ°ªÀº ÀÛ¼ºµÈ ä³ÎÀÔ´Ï´Ù.
remote
- »õ·Î¿î ä³ÎÀÇ Á¢¼Óó ¸®¸ðÆ® ÁÖ¼Ò
AsynchronousCloseException
- Á¢¼Ó Á¶ÀÛÀÇ ÁøÇàÁß¿¡
´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- Á¢¼Ó Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
UnresolvedAddressException
- ÁöÁ¤µÈ ¸®¸ðÆ® ÁÖ¼Ò°¡ ¿ÏÀüÇÏ°Ô ÇØ°áµÇÁö ¾Ê´Â °æ¿ì
UnsupportedAddressTypeException
- ÁöÁ¤µÈ ¸®¸ðÆ® ÁÖ¼ÒÀÇ Å¸ÀÔÀÌ Áö¿ø
´ë»ó¿ÜÀÇ °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ÀνºÅç µÇ°í ÀÖ¾î, ÁöÁ¤µÈ ¸®¸ðÆ® ¿£µå Æ÷ÀÎÆ®¿¡ÀÇ ¾×¼¼½º°¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
IOException
- ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic final int validOps()
¼ÒÄÏ Ã¤³ÎÀº Á¢¼Ó, Àбâ, write¸¦ Áö¿ø
ÇϹǷΠÀÌ ¸Þ¼µå´Â (SelectionKey.OP_CONNECT
| SelectionKey.OP_READ
| SelectionKey.OP_WRITE
)À» ¸®ÅÏÇÕ´Ï´Ù.
SelectableChannel
³»ÀÇ validOps
public abstract Socket socket()
¸®ÅϵÈ
°´Ã¼´Â Socket
Ŭ·¡½º¿¡¼ ¼±¾ðµÇ¾î ÀÖÁö ¾ÊÀº public ¸Þ¼µå´Â ¼±¾ðÇÏÁö ¾Ê½À´Ï´Ù.
public abstract boolean isConnected()
public abstract boolean isConnectionPending()
finishConnect
¸Þ¼µå°¡ ºÒ·Á°¡
Áö ¾Ê¾Ò´Ù) °æ¿ì¿¡ ÇÑÁ¤ÇØ truepublic abstract boolean connect(SocketAddress remote) throws IOException
ÀÌ Ã¤³ÎÀÌ ºñºí·Ï ¸ðµåÀÇ °æ¿ì, ÀÌ ¸Þ¼µåÀÇ È£Ãâ¿¡ÀÇÇØ ºñºí·Ï Á¢¼Ó Á¶ÀÛÀÌ °³½ÃµË´Ï´Ù. ·ÎÄà Á¢¼ÓÀÇ °æ¿ì¿Í °°ÀÌ Áï¼®¿¡¼ Á¢¼ÓÀÌ È®¸³µÇ´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±× ¿ÜÀÇ °æ¿ì´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ °æ¿ì´Â ³ªÁß¿¡ finishConnect
¸Þ¼µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î Á¢¼Ó Á¶ÀÛÀ» ¿Ï·áÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÀÌ Ã¤³ÎÀÌ ºí·Ï ¸ðµåÀÇ °æ¿ì, ÀÌ ¸Þ¼µåÀÇ È£ÃâÀº Á¢¼ÓÀÌ È®¸³µÉ±î ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇÒ ¶§±îÁö ºí·Ï µË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Socket
Ŭ·¡½º¿Í ¿ÏÀüÈ÷ °°Àº ½ÃÅ¥·¯Æ¼ üũ¸¦ ½Ç½ÃÇÕ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ÀνºÅç µÇ°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â ÁöÁ¤µÈ ¸®¸ðÆ® ¿£µå Æ÷ÀÎÆ®ÀÇ ÁÖ¼Ò ¹× Æ÷Æ® ¹øÈ£¿¡ÀÇ Á¢¼ÓÀ» ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkConnect
¸Þ¼µå°¡ Çã°¡ÇÏ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ÀÌ ¸Þ¼µåÀÇ È£Ãâ ó¸®ÀÇ ÁøÇàÁß¿¡ ÀÌ Ã¤³Î¿¡ ´ëÇÑ read ¶Ç´Â Ãâ·ÂÁ¶ÀÛÀ» È£ÃâÇßÀ» °æ¿ì, È£Ãâ 󸮰¡ ¿Ï·áÇÒ ¶§±îÁö ±× Á¶ÀÛÀº ºí·Ï µË´Ï´Ù. Á¢¼ÓÇÏ·Á°í ÇßÁö¸¸ ½ÇÆÐÇßÀ» °æ¿ì, Áï ÀÌ ¸Þ¼µåÀÇ È£ÃâÀÌ Ã¼Å©µÇ´Â ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì, ä³ÎÀº Ŭ·Î¿ìÁî µË´Ï´Ù.
remote
- ÀÌ Ã¤³ÎÀÇ Á¢¼Óó ¸®¸ðÆ® ÁÖ¼Ò
AlreadyConnectedException
- ÀÌ Ã¤³ÎÀÌ À̹Ì
Á¢¼ÓµÇ°í ÀÖ´Â °æ¿ì
ConnectionPendingException
- ÀÌ Ã¤³Î·Î À̹Ì
ºñºí·Ï Á¢¼Ó Á¶ÀÛÀÌ ½ÇÇàÁßÀÎ °æ¿ì
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException
- Á¢¼Ó Á¶ÀÛÀÇ ÁøÇàÁß¿¡
´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- Á¢¼Ó Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
UnresolvedAddressException
- ÁöÁ¤µÈ ¸®¸ðÆ® ÁÖ¼Ò°¡ ¿ÏÀüÇÏ°Ô ÇØ°áµÇÁö ¾Ê´Â °æ¿ì
UnsupportedAddressTypeException
- ÁöÁ¤µÈ ¸®¸ðÆ® ÁÖ¼ÒÀÇ Å¸ÀÔÀÌ Áö¿ø
´ë»ó¿ÜÀÇ °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ÀνºÅç µÇ°í ÀÖ¾î, ÁöÁ¤µÈ ¸®¸ðÆ® ¿£µå Æ÷ÀÎÆ®¿¡ÀÇ ¾×¼¼½º°¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
IOException
- ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic abstract boolean finishConnect() throws IOException
¼ÒÄÏ Ã¤³ÎÀ» ºñºí·Ï ¸ðµå·Î ÇÏ°í ³ª¼ connect
¸Þ¼µå¸¦ È£ÃâÇϸé, ºñºí·Ï Á¢¼Ó Á¶ÀÛÀÌ °³½ÃµË´Ï´Ù. Á¢¼ÓÀÌ È®¸³µÇ´ÂÁö, Á¢¼Ó¿¡ ½ÇÆÐÇÑµÚ ¼ÒÄÏ Ã¤³ÎÀº Á¢¼Ó °¡´ÉÇÑ »óŰ¡ µÇ¾î, ÀÌ ¸Þ¼µå¸¦ È£ÃâÇØ Á¢¼Ó ¼ø¼¸¦ ¿Ï·áÇÒ ¼ö ÀÖ½À´Ï´Ù
. Á¢¼Ó Á¶ÀÛ¿¡ ½ÇÆÐÇßÀ» °æ¿ì¿¡ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇϸé, ÇØ´çÇÏ´Â IOException
À» ¹ß»ý½Ãŵ´Ï´Ù.
ÀÌ Ã¤³ÎÀÌ ÀÌ¹Ì Á¢¼ÓµÇ°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â ºí·Ï µÇ¾î Áï½Ã true¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ Ã¤³ÎÀÌ ºñºí·Ï ¸ðµåÀÇ °æ¿ì, Á¢¼Ó 󸮰¡ ¾ÆÁ÷ ¿Ï·áÇϰí ÀÖÁö ¾ÊÀ¸¸é, ÀÌ ¸Þ¼µå´Â false¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ Ã¤³ÎÀÌ ºí·Ï ¸ðµåÀÇ °æ¿ì, Á¢¼ÓÀÌ ¿Ï·áÇÏ´ÂÁö ½ÇÆÐÇÒ ¶§±îÁö ÀÌ ¸Þ¼µå´Â ºí·Ï µË´Ï´Ù. µ¡ºÙ¿© Á¢¼ÓÀÌ ¿Ï·áÇßÀ» °æ¿ì´Â true°¡ µ¹·ÁÁÖ°íÁ® Á¢¼Ó¿¡ ½ÇÆÐÇßÀ» °æ¿ì´Â üũµÇ´Â ¿¹¿Ü°¡ ¹ß»ý µË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ÀÌ ¸Þ¼µåÀÇ È£Ãâ ó¸®ÀÇ ÁøÇàÁß¿¡ ÀÌ Ã¤³Î¿¡ ´ëÇÑ read ¶Ç´Â Ãâ·ÂÁ¶ÀÛÀ» È£ÃâÇßÀ» °æ¿ì, È£Ãâ 󸮰¡ ¿Ï·áÇÒ ¶§±îÁö ±× Á¶ÀÛÀº ºí·Ï µË´Ï´Ù. Á¢¼ÓÀÌ ½ÇÆÐÇßÀ» °æ¿ì, Áï ÀÌ ¸Þ¼µåÀÇ È£ÃâÀÌ Ã¼Å©µÇ´Â ¿¹¿Ü¸¦ Throw ÇßÀ» °æ¿ì, ä³ÎÀº Ŭ·Î¿ìÁî µË´Ï´Ù.
NoConnectionPendingException
- ÀÌ Ã¤³ÎÀÌ Á¢¼ÓµÇÁö ¾Ê°í, Á¢¼Ó Á¶ÀÛµµ ½ÃÀ۵Ǿî
ÀÖÁö ¾ÊÀº °æ¿ì
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException
- Á¢¼Ó Á¶ÀÛÀÇ ÁøÇàÁß¿¡
´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- Á¢¼Ó Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
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¿¡ µ¿ÀÏÇØÁý´Ï´Ù. ¸®¹ÔÆ®¿¡ º¯È´Â ¾ø½À´Ï´Ù.
read Á¶ÀÛ¿¡ ÀÇÇØ ¹öÆÛ°¡ °¡µæ µÈ´Ù°í´ÂÀΰ¡ ¼±. ¹ÙÀÌÆ®°¡ ÀÏÀý ÀоÁöÁö ¾ÊÀº °æ¿ìµµ ÀÖ½À´Ï´Ù. ¹öÆÛ°¡ °¡µæ µÉÁö ¾î¶³Áö´Â ä³ÎÀÇ º»·¡ÀÇ ¼ºÁú°ú »óÅ¿¡ ÀÇÇØ °áÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ºñºí·Ï ¸ðµåÀÇ ¼ÒÄÏÀº ¼ÒÄÏÀÇ ÀÔ·Â ¹öÆÛ·ÎºÎÅÍ Áï½Ã ÃëµæÇÒ ¼ö ÀÖ´Â ¹ÙÀÌÆ® Àܸ̿¦ Àо ¼ö°¡ ¾ø½À´Ï´Ù. °°ÀÌ ÆÄÀÏ Ã¤³ÎÀº ÆÄÀϳ»ÀÇ ¹ÙÀÌÆ® Àܸ̿¦ Àо ¼ö°¡ ¾ø½À´Ï´Ù. ´Ù¸¸, ä³ÎÀÌ ºí·Ï ¸ðµåÀ̸ç, ¹öÆÛ³»ÀÇ ¹ÙÀÌÆ®¼ö°¡ 1 ¹ÙÀÌÆ® ÀÌ»óÀÇ °æ¿ì, 1 ¹ÙÀÌÆ® ÀÌ»óÀÌ ÀоÁú ¶§±îÁö ÀÌ ¸Þ¼µå´Â ºí·Ï µÇ°Ô µÇ¾î ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸, ´Ù¸¥ thread°¡ ÀÌ Ã¤³Î¿¡ ´ëÇØ¼ Àбâ Á¶ÀÛÀ» °³½ÃÇϰí ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µåÀÇ È£ÃâÀº ÃÖÃÊÀÇ Á¶ÀÛÀÌ ³¡³¯ ¶§±îÁö ºí·Ï µË´Ï´Ù.
ReadableByteChannel
³»ÀÇ read
dst
- ¹ÙÀÌÆ®ÀÇ Àü¼Ûó ¹öÆÛ
NotYetConnectedException
- ÀÌ Ã¤³ÎÀÌ ¾ÆÁ÷ Á¢¼ÓµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException
- read Á¶ÀÛÀÇ ÁøÇàÁß¿¡
´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
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]¿¡ Àü¼Û µË´Ï´Ù. ÀÌ Ã³¸®´Â ¸ðµç ¹ÙÀÌÆ® ¼ø¼°¡ ÁöÁ¤µÈ ¹öÆÛ¿¡ Àü¼Û µÉ ¶§±îÁö ¹Ýº¹ÇØÁý´Ï´Ù. °¢ ¹öÆÛ¿¡´Â ÃÖ´ëÇÑÀÇ ¹ÙÀÌÆ®°¡ Àü¼Û µÇ±â ¶§¹®¿¡ ÃÖÁ¾ °»½Å ¹öÆÛ¸¦ Á¦¿ÜÇÑ °³°³ÀÇ °»½Å ¹öÆÛÀÇ ÃÖÁ¾ÀûÀÎ À§Ä¡´Â ÀÌ ¹öÆÛÀÇ ¸®¹ÔÆ®¿Í µ¿ÀÏÇØÁý´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸, ´Ù¸¥ thread°¡ ÀÌ Ã¤³Î¿¡ ´ëÇØ¼ Àбâ Á¶ÀÛÀ» °³½ÃÇϰí ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µåÀÇ È£ÃâÀº ÃÖÃÊÀÇ Á¶ÀÛÀÌ ³¡³¯ ¶§±îÁö ºí·Ï µË´Ï´Ù.
ScatteringByteChannel
³»ÀÇ read
dsts
- ¹ÙÀÌÆ®ÀÇ Àü¼Ûó ¹öÆÛoffset
- ÃÖÃÊÀÇ ¹ÙÀÌÆ®ÀÇ Àü¼Ûó°¡ µÇ´Â ¹öÆÛ ¹è¿³»ÀÇ ¿ÀÇÁ¼Â(offset). dsts.length ¾Æ·¡ÀÇ Á¦·Î ¶Ç´Â Á¤ÀÇ ¼ölength
- ¾×¼¼½º °¡´ÉÇÑ ÃÖ´ë ¹öÆÛ¼ö. dsts.length - offset ¾Æ·¡ÀÇ Á¦·Î ¶Ç´Â Á¤ÀÇ ¼ö
NotYetConnectedException
- ÀÌ Ã¤³ÎÀÌ ¾ÆÁ÷ Á¢¼ÓµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException
- read Á¶ÀÛÀÇ ÁøÇàÁß¿¡
´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException
- ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic final long read(ByteBuffer [] dsts) throws IOException
ScatteringByteChannel
±â¼ú: ÀÌ ¸Þ¼µå¸¦ c.read(dsts) Çü½Ä¿¡¼ È£ÃâÇßÀ» °æ¿ì, ´ÙÀ½ÀÇ È£Ãâ°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
c.read(dsts, 0, srcs.length);
ScatteringByteChannel
³»ÀÇ read
dsts
- ¹ÙÀÌÆ®ÀÇ Àü¼Ûó ¹öÆÛ
NotYetConnectedException
- ÀÌ Ã¤³ÎÀÌ ¾ÆÁ÷ Á¢¼ÓµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException
- read Á¶ÀÛÀÇ ÁøÇàÁß¿¡
´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- read Á¶ÀÛÀÇ ÁøÇàÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException
- ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic abstract int write(ByteBuffer src) throws IOException
WritableByteChannel
±â¼ú: ä³Î¿¡ ÃÖ´ë r ¹ÙÀÌÆ®¸¦ Ãâ·ÂÇÏ·Á°í ÇÕ´Ï´Ù. r´Â ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÒ ¶§ ¹öÆÛ³»¿¡ Á¸ÀçÇÏ´Â ¹ÙÀÌÆ®¼ö, dst.remaining()°¡ µË´Ï´Ù.
±æÀÌ n (0 <= n <= r)ÀÇ ¹ÙÀÌÆ® ¼ø¼°¡ Ãâ·ÂÇØÁø´Ù°í ÇÕ´Ï´Ù. ÀÌ ¹ÙÀÌÆ® ¼ø¼´Â ¹öÆÛÀÇ À妽º p ·ÎºÎÅÍ Àü¼Û µË´Ï´Ù. p´Â ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÑ ½ÃÁ¡ÀÇ ¹öÆÛÀÇ À§Ä¡ÀÔ´Ï´Ù. Ãâ·ÂÇØÁö´Â ¸¶Áö¸· ¹ÙÀÌÆ®´Â p + n - 1 ÀÌ µË´Ï´Ù. ¹öÆÛÀÇ À§Ä¡´Â Á¾·á½Ã¿¡ p + n¿¡ µ¿ÀÏÇØÁý´Ï´Ù. ¸®¹ÔÆ®¿¡ º¯È´Â ¾ø½À´Ï´Ù.
ƯÈ÷ ÁöÁ¤ÀÌ ¾ø´Â ÇÑ, ¿ä±¸µÈ r ¹ÙÀÌÆ®°¡ ¸ðµÎ Ãâ·ÂÇØÁö¸é Ãâ·Â Á¶ÀÛÀº Á¾·áÇÕ´Ï´Ù. ä³ÎÀÇ Á¾·ù¿¡ µû¶ó¼´Â ±× »óÅ¿¡ ÀÀÇØ, ÀϺÎÀÇ ¹ÙÀÌÆ® ¹Û¿¡ Ãâ·ÂÇØÁöÁö ¾ÊÀº °æ¿ì³ª, ÀüÇô write¸¦ ÇÏÁö ¾Ê´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ºñºí·Ï ¸ðµåÀÇ ¼ÒÄÏ Ã¤³Î¿¡¼´Â ¼ÒÄÏÀÇ Ãâ·Â ¹öÆÛ³»ÀÇ ¹ÙÀÌÆ®¼ö°¡ ÃÖ´ë Ãâ·Â ¹ÙÀÌÆ®¼ö°¡ µË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸, ´Ù¸¥ thread°¡ ÀÌ Ã¤³Î¿¡ ´ëÇØ¼ Ãâ·ÂÁ¶ÀÛÀ» °³½ÃÇϰí ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µåÀÇ È£ÃâÀº ÃÖÃÊÀÇ Á¶ÀÛÀÌ ³¡³¯ ¶§±îÁö ºí·Ï µË´Ï´Ù.
WritableByteChannel
³»ÀÇ write
src
- ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³ ¹öÆÛ
NotYetConnectedException
- ÀÌ Ã¤³ÎÀÌ ¾ÆÁ÷ Á¢¼ÓµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException
- Ãâ·ÂÁß¿¡ ´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- Ãâ·ÂÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
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]·Î ºÎÅÍ ¹öÆÛ srcs[offset+1]¿¡ Ãâ·ÂÇØÁý´Ï´Ù. ÀÌ Ã³¸®´Â ¹ÙÀÌÆ® ¼ø¼ ÀüºÎ°¡ Ãâ·ÂÇØÁú ¶§±îÁö ¹Ýº¹ÇØÁý´Ï´Ù. °¢ ¹öÆÛ·ÎºÎÅÍ ÃÖ´ëÇÑÀÇ ¹ÙÀÌÆ®°¡ Ãâ·ÂÇØÁö±â ¶§¹®¿¡ °»½ÅµÈ °³°³ÀÇ ¹öÆÛÀÇ ÃÖÁ¾ÀûÀÎ À§Ä¡´Â ÃÖÁ¾ °»½Å ¹öÆÛ¸¦ Á¦¿ÜÇØ, ÀÌ ¹öÆÛÀÇ ¸®¹ÔÆ®¿Í µ¿ÀÏÇØÁý´Ï´Ù.
ƯÈ÷ ÁöÁ¤ÀÌ ¾ø´Â ÇÑ, ¿ä±¸µÈ r ¹ÙÀÌÆ®°¡ ¸ðµÎ Ãâ·ÂÇØÁö¸é Ãâ·Â Á¶ÀÛÀº Á¾·áÇÕ´Ï´Ù. ä³ÎÀÇ Á¾·ù¿¡ µû¶ó¼´Â ±× »óÅ¿¡ ÀÀÇØ, ÀϺÎÀÇ ¹ÙÀÌÆ® ¹Û¿¡ Ãâ·ÂÇØÁöÁö ¾ÊÀº °æ¿ì³ª, ÀüÇô write¸¦ ÇÏÁö ¾Ê´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ºñºí·Ï ¸ðµåÀÇ ¼ÒÄÏ Ã¤³Î¿¡¼´Â ¼ÒÄÏÀÇ Ãâ·Â ¹öÆÛ³»ÀÇ ¹ÙÀÌÆ®¼ö°¡ ÃÖ´ë Ãâ·Â ¹ÙÀÌÆ®¼ö°¡ µË´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ¾ðÁ¦¶óµµ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¸, ´Ù¸¥ thread°¡ ÀÌ Ã¤³Î¿¡ ´ëÇØ¼ Ãâ·ÂÁ¶ÀÛÀ» °³½ÃÇϰí ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼µåÀÇ È£ÃâÀº ÃÖÃÊÀÇ Á¶ÀÛÀÌ ³¡³¯ ¶§±îÁö ºí·Ï µË´Ï´Ù.
GatheringByteChannel
³»ÀÇ write
srcs
- ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³ ¹öÆÛoffset
- ÃÖÃÊÀÇ ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³°¡ µÇ´Â ¹öÆÛ ¹è¿³»ÀÇ ¿ÀÇÁ¼Â(offset). srcs.length ¾Æ·¡ÀÇ Á¦·Î ¶Ç´Â Á¤ÀÇ ¼ölength
- ¾×¼¼½º °¡´ÉÇÑ ÃÖ´ë ¹öÆÛ¼ö. srcs.length - offset ¾Æ·¡ÀÇ Á¦·Î ¶Ç´Â Á¤ÀÇ ¼ö
NotYetConnectedException
- ÀÌ Ã¤³ÎÀÌ ¾ÆÁ÷ Á¢¼ÓµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException
- Ãâ·ÂÁß¿¡ ´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- Ãâ·ÂÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException
- ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic final long write(ByteBuffer [] srcs) throws IOException
GatheringByteChannel
±â¼ú: ÀÌ ¸Þ¼µå¸¦ c.write(srcs) Çü½Ä¿¡¼ È£ÃâÇßÀ» °æ¿ì, ´ÙÀ½ÀÇ È£Ãâ°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
c.write(srcs, 0, srcs.length);
GatheringByteChannel
³»ÀÇ write
srcs
- ¹ÙÀÌÆ®ÀÇ ÃëµæÃ³ ¹öÆÛ
NotYetConnectedException
- ÀÌ Ã¤³ÎÀÌ ¾ÆÁ÷ Á¢¼ÓµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
ClosedChannelException
- ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException
- Ãâ·ÂÁß¿¡ ´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException
- Ãâ·ÂÁß¿¡ ´Ù¸¥ thread·ÎºÎÅÍÀÇ ÀÎÅÍ·´Æ®°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ÀÎÅÍ·´Æ® »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
IOException
- ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.