|
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 ¸Þ¼µå°¡ ºÒ·Á°¡
Áö ¾Ê¾Ò´Ù) °æ¿ì¿¡ ÇÑÁ¤ÇØ true
public 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 µµ ÂüÁ¶ÇϽʽÿÀ.