MID ÇÁ·ÎÇÊ

javax.microedition.io
Interface SocketConnection

All Superinterfaces:
Connection, InputConnection, OutputConnection, StreamConnection
All Known Subinterfaces:
SecureConnection

public interface SocketConnection
extends StreamConnection

ÀÌ ÀÎÅÍÆäÀ̽º´Â ¼ÒÄÏ ½ºÆ®¸² ¿¬°áÀ» Á¤ÀÇÇÕ´Ï´Ù.

¼ÒÄÏÀº È£½ºÆ®¿Í Æ÷Æ® ¹øÈ£°¡ ¸í½ÃÀûÀ¸·Î ÁöÁ¤µÈ ÀÏ¹Ý ¿¬°á ¹®ÀÚ¿­À» »ç¿ëÇÏ¿© ¾×¼¼½ºÇÕ´Ï´Ù. È£½ºÆ®´Â Á¤±ÔÈ­µÈ È£½ºÆ® À̸§À̳ª IPv4 ¹øÈ£·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, socket://host.com:79´Â host.com ½Ã½ºÅÛÀÇ Æ÷Æ® 79¿¡ ÀÖ´Â ´ë»ó ¼ÒÄÏÀ» Á¤ÀÇÇÕ´Ï´Ù.

RFC1900¿¡¼­´Â IP ¹øÈ£¸¦ ÀçÇÒ´çÇÏ´Â °æ¿ì ÃÖ»óÀÇ °á°ú¸¦ ¾ò±â À§ÇØ IP ¹øÈ£ ´ë½Å À̸§À» »ç¿ëÇϵµ·Ï ±ÇÀåÇÕ´Ï´Ù.

½ºÆ®¸² ´Ý±â

¸ðµç StreamConnectionÀº Connection °´Ã¼´Â ¹°·Ð ÀÌ ¿¬°á°ú °ü·ÃµÈ I/O¸¦ ó¸®ÇÏ´Â InputStream°ú OutputStreamÀ» Á¦°øÇÕ´Ï´Ù. °¢ ÀÎÅÍÆäÀ̽º¿¡´Â ÀÚü close() ¸Þ¼Òµå°¡ ÀÖ½À´Ï´Ù. ¼ÒÄÏ ¿¬°áÀ» ÅëÇÑ ÀÌÁß Åë½ÅÀ» Áö¿øÇÏ´Â ½Ã½ºÅÛ¿¡¼­ ÀÔ·Â ¶Ç´Â Ãâ·Â ½ºÆ®¸²À» ´ÝÀ» °æ¿ì ¿¬°áÀÇ ÇØ´ç ºÎºÐ¸¸ ´ÝÈ÷´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¿¹¸¦ µé¾î, InputStreamÀ» ´ÝÀ¸¸é OutputStreamÀº °è¼Ó µ¥ÀÌÅ͸¦ º¸³¾ ¼ö ÀÖ½À´Ï´Ù.

ÀÔ·Â ¶Ç´Â Ãâ·Â ½ºÆ®¸²ÀÌ ´ÝÈù °æ¿ì ´Ù½Ã ¿­·Á¸é Connector.open()À» È£ÃâÇØ¾ß ÇÕ´Ï´Ù. ½ºÆ®¸²À» ´Ù½Ã ¿­·Á´Â ½Ãµµ°¡ ÀÖÀ¸¸é ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ IOExceptionÀ» ¹Þ°Ô µË´Ï´Ù.

Connector.open() ¹®ÀÚ¿­ÀÇ BNF Çü½Ä

URI´Â ¾Æ·¡¿¡ ÁöÁ¤µÈ BNF ±¸¹®°ú ÀÏÄ¡ÇØ¾ß ÇÕ´Ï´Ù. URI°¡ ÀÌ ±¸¹®¿¡ ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é IllegalArgumentExceptionÀÌ ¹ß»ýÇÕ´Ï´Ù.

<socket_connection_string> ::= "socket://"<hostport>
<hostport> ::= È£½ºÆ® ":" Æ÷Æ®
<host> ::= È£½ºÆ® À̸§ ¶Ç´Â IP ÁÖ¼Ò(Àιٿîµå ¿¬°áÀÇ °æ¿ì »ý·«µÊ. ServerSocketConnection ÂüÁ¶)
<port> ::= ¼ýÀÚ Æ÷Æ® ¹øÈ£

¿¹

¾Æ·¡ ¿¹¿¡¼­´Â SocketConnectionÀ» »ç¿ëÇÏ¿© »ùÇà ·çÇÁ¹é ÇÁ·Î±×·¥¿¡ ¾×¼¼½ºÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÝ´Ï´Ù.

   SocketConnection sc = (SocketConnection)
                         Connector.open("socket://host.com:79");
   sc.setSocketOption(SocketConnection.LINGER, 5);

   InputStream is  = sc.openInputStream();
   OutputStream os = sc.openOutputStream();

   os.write("\r\n".getBytes());
   int ch = 0;
   while(ch != -1) {
       ch = is.read();
   }

   is.close();
   os.close();
   sc.close();

Since:
MIDP 2.0

Field Summary
static byte DELAY
          ÀÛÀº ¹öÆÛ ¾²±â Áö¿¬À» À§ÇÑ ¼ÒÄÏ ¿É¼Ç(0).
static byte KEEPALIVE
          ¿¬°á À¯Áö ±â´ÉÀ» À§ÇÑ ¼ÒÄÏ ¿É¼Ç(2).
static byte LINGER
          º¸·ù ÁßÀÎ µ¥ÀÌÅÍ Ãâ·Â°úÀÇ ¿¬°áÀ» ´Ý±â Àü¿¡ ´ë±âÇÒ ÃÊ ´ÜÀ§ Áö¿¬ ½Ã°£À» À§ÇÑ ¼ÒÄÏ ¿É¼Ç(1).
static byte RCVBUF
          ¼ö½Å ¹öÆÛÀÇ Å©±â¸¦ À§ÇÑ ¼ÒÄÏ ¿É¼Ç(3).
static byte SNDBUF
          Àü¼Û ¹öÆÛÀÇ Å©±â¸¦ À§ÇÑ ¼ÒÄÏ ¿É¼Ç(4).
 
Method Summary
 String getAddress()
          ¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ¿ø°Ý ÁÖ¼Ò¸¦ °¡Á®¿É´Ï´Ù.
 String getLocalAddress()
          ¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ·ÎÄà ÁÖ¼Ò¸¦ °¡Á®¿É´Ï´Ù.
 int getLocalPort()
          ÀÌ ¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ·ÎÄà Æ÷Æ®¸¦ ¹ÝȯÇÕ´Ï´Ù.
 int getPort()
          ÀÌ ¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ¿ø°Ý Æ÷Æ®¸¦ ¹ÝȯÇÕ´Ï´Ù.
 int getSocketOption(byte option)
          ¿¬°á¿¡ ´ëÇÑ ¼ÒÄÏ ¿É¼ÇÀ» °¡Á®¿É´Ï´Ù.
 void setSocketOption(byte option, int value)
          ¿¬°á¿¡ ´ëÇÑ ¼ÒÄÏ ¿É¼ÇÀ» ¼³Á¤ÇÕ´Ï´Ù.
 
Methods inherited from interface javax.microedition.io.InputConnection
openDataInputStream, openInputStream
 
Methods inherited from interface javax.microedition.io.Connection
close
 
Methods inherited from interface javax.microedition.io.OutputConnection
openDataOutputStream, openOutputStream
 

Field Detail

DELAY

public static final byte DELAY
ÀÛÀº ¹öÆÛ ¾²±â Áö¿¬À» À§ÇÑ ¼ÒÄÏ ¿É¼Ç(0). ÀÛÀº ¹öÆÛ ÀÛ¾÷À» À§ÇÑ Nagle ¾Ë°í¸®ÁòÀ» »ç¿ë ºÒ°¡´ÉÇÏ°Ô ÇÏ·Á¸é 0À¸·Î ¼³Á¤ÇÏ°í »ç¿ë °¡´ÉÇÏ°Ô ÇÏ·Á¸é 0ÀÌ ¾Æ´Ñ °ªÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.

See Also:
Constant Field Values

LINGER

public static final byte LINGER
º¸·ù ÁßÀÎ µ¥ÀÌÅÍ Ãâ·Â°úÀÇ ¿¬°áÀ» ´Ý±â Àü¿¡ ´ë±âÇÒ ÃÊ ´ÜÀ§ Áö¿¬ ½Ã°£À» À§ÇÑ ¼ÒÄÏ ¿É¼Ç(1). Áö¿¬ ½Ã°£À» 0À¸·Î ¼³Á¤Çϸé Áö¿¬ ´ë±â °£°ÝÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

See Also:
Constant Field Values

KEEPALIVE

public static final byte KEEPALIVE
¿¬°á À¯Áö ±â´ÉÀ» À§ÇÑ ¼ÒÄÏ ¿É¼Ç(2). KEEPALIVE¸¦ 0À¸·Î ¼³Á¤ÇÏ¸é ±â´ÉÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. KEEPALIVE¸¦ 0ÀÌ ¾Æ´Ñ °ªÀ¸·Î ¼³Á¤Çϸé ÀÌ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

See Also:
Constant Field Values

RCVBUF

public static final byte RCVBUF
¼ö½Å ¹öÆÛÀÇ Å©±â¸¦ À§ÇÑ ¼ÒÄÏ ¿É¼Ç(3).

See Also:
Constant Field Values

SNDBUF

public static final byte SNDBUF
Àü¼Û ¹öÆÛÀÇ Å©±â¸¦ À§ÇÑ ¼ÒÄÏ ¿É¼Ç(4).

See Also:
Constant Field Values
Method Detail

setSocketOption

public void setSocketOption(byte option,
                            int value)
                     throws IllegalArgumentException,
                            IOException
¿¬°á¿¡ ´ëÇÑ ¼ÒÄÏ ¿É¼ÇÀ» ¼³Á¤ÇÕ´Ï´Ù.

ÀÌ·¯ÇÑ ¿É¼ÇÀº ¼ÒÄÏ ¿¬°á ó¸® ½Ã ÀǵµµÈ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ »ç¿ë ÆÐÅÏ¿¡ ´ëÇÑ Àú±Þ ³×Æ®¿öÅ· Äڵ带 ¾Ë·ÁÁÝ´Ï´Ù.

setSocketOptionÀ» È£ÃâÇÏ¿© ¹öÆÛ Å©±â¸¦ ÇÒ´çÇÏ¸é ±âº» ³×Æ®¿öÅ© I/O ¹öÆÛ¸¦ ¼³Á¤ÇÒ Å©±â¸¦ Ç÷§Æû¿¡ ¾Ë·ÁÁÖ°Ô µË´Ï´Ù. getSocketOptionÀ» È£ÃâÇÏ¸é ½Ã½ºÅÛ¿¡¼­ »ç¿ë ÁßÀÎ Å©±â¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ½Ã½ºÅÛÀº ÇöÀç ³×Æ®¿öÅ© Á¤º¸¿¡¼­ Á¦°øÇÏ´Â ÃÖ´ë Àü¼Û ´ÜÀ§(MTU)¿Í ÃÖ´ë ¼¼±×¸ÕÆ® Å©±â(MSS) µ¥ÀÌÅÍ¿¡ µû¶ó 󸮷®À» ´Ã¸®±â À§ÇØ ¹öÆÛ Å©±â¸¦ Á¶Á¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

Parameters:
option - ¼ÒÄÏ ¿É¼Ç ½Äº°ÀÚ(KEEPALIVE, LINGER, SNDBUF, RCVBUF ¶Ç´Â DELAY)
value - ÁöÁ¤µÈ ¿É¼ÇÀÇ ¼ýÀÚ °ª
Throws:
IllegalArgumentException - °ªÀÌ À¯È¿ÇÏÁö ¾Ê°Å³ª(¿¹: À½¼ö °ª) ¿É¼Ç ½Äº°ÀÚ°¡ À¯È¿ÇÏÁö ¾ÊÀº °æ¿ì
IOException - ¿¬°áÀÌ ´ÝÈù °æ¿ì
See Also:
getSocketOption(byte)

getSocketOption

public int getSocketOption(byte option)
                    throws IllegalArgumentException,
                           IOException
¿¬°á¿¡ ´ëÇÑ ¼ÒÄÏ ¿É¼ÇÀ» °¡Á®¿É´Ï´Ù.

Parameters:
option - ¼ÒÄÏ ¿É¼Ç ½Äº°ÀÚ(KEEPALIVE, LINGER, SNDBUF, RCVBUF ¶Ç´Â DELAY)
Returns:
ÁöÁ¤µÈ ¿É¼ÇÀÇ ¼ýÀÚ °ª ¶Ç´Â °ªÀ» »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì -1
Throws:
IllegalArgumentException - ¿É¼Ç ½Äº°ÀÚ°¡ À¯È¿ÇÏÁö ¾ÊÀº °æ¿ì
IOException - ¿¬°áÀÌ ´ÝÈù °æ¿ì
See Also:
setSocketOption(byte, int)

getLocalAddress

public String getLocalAddress()
                       throws IOException
¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ·ÎÄà ÁÖ¼Ò¸¦ °¡Á®¿É´Ï´Ù.

¿ÜºÎ ½Ã½ºÅÛ¿¡¼­ ÀÌ ¼ÒÄÏ ¿¬°á Á¾Á¡¿¡ ¿¬°áÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö Àִ ȣ½ºÆ® ÁÖ¼Ò(IP ¹øÈ£). IP ÁÖ¼Ò´Â µ¿ÀûÀ¸·Î ÇÒ´çµÉ ¼ö ÀÖÀ¸¹Ç·Î IP ¹øÈ£ ÀçÇÒ´ç ½Ã ¿ø°Ý ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ °ß°íÇØ¾ß ÇÕ´Ï´Ù.

·ÎÄà ȣ½ºÆ® À̸§(»ç¿ë °¡´ÉÇÑ °æ¿ì)Àº System.getProperty("microedition.hostname")¿¡¼­ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

Returns:
¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ·ÎÄà ÁÖ¼Ò
Throws:
IOException - ¿¬°áÀÌ ´ÝÈù °æ¿ì
See Also:
ServerSocketConnection

getLocalPort

public int getLocalPort()
                 throws IOException
ÀÌ ¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ·ÎÄà Æ÷Æ®¸¦ ¹ÝȯÇÕ´Ï´Ù.

Returns:
ÀÌ ¼ÒÄÏÀÌ ¿¬°áµÇ´Â ·ÎÄà Æ÷Æ® ¹øÈ£
Throws:
IOException - ¿¬°áÀÌ ´ÝÈù °æ¿ì
See Also:
ServerSocketConnection

getAddress

public String getAddress()
                  throws IOException
¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ¿ø°Ý ÁÖ¼Ò¸¦ °¡Á®¿É´Ï´Ù. ÁÖ¼Ò´Â ¿ø°Ý È£½ºÆ® À̸§À̳ª IP ÁÖ¼Ò(»ç¿ë °¡´ÉÇÑ °æ¿ì)°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.

Returns:
¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ¿ø°Ý ÁÖ¼Ò
Throws:
IOException - ¿¬°áÀÌ ´ÝÈù °æ¿ì

getPort

public int getPort()
            throws IOException
ÀÌ ¼ÒÄÏÀÌ ¹Ù¿îµåµÇ´Â ¿ø°Ý Æ÷Æ®¸¦ ¹ÝȯÇÕ´Ï´Ù.

Returns:
ÀÌ ¼ÒÄÏÀÌ ¿¬°áµÇ´Â ¿ø°Ý Æ÷Æ® ¹øÈ£
Throws:
IOException - ¿¬°áÀÌ ´ÝÈù °æ¿ì

MID ÇÁ·ÎÇÊ

ÀǰßÀ̳ª Á¦¾È »çÇ× º¸³»±â MID ÇÁ·ÎÇÊ »ç¾ç ¹öÀü 2.0
Java´Â ¹Ì±¹ ¹× ´Ù¸¥ ±¹°¡¿¡¼­ Sun Microsystems, Inc.ÀÇ »óÇ¥ ¶Ç´Â µî·Ï »óÇ¥ÀÔ´Ï´Ù. Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. ¸ðµç ±Ç¸®´Â ÀúÀÛ±ÇÀÚÀÇ ¼ÒÀ¯ÀÔ´Ï´Ù.