FrontPage|FindPage|TitleIndex|RecentChanges|RSS ogp
 

OGP, Online Game Protocols #


ÀÌ ±ÛÀº »ý°¢³ª´Â´ë·Î ÆíÁýÁßÀÔ´Ï´Ù. Å»°íÇÏÁö ¾ÊÀº »óÅÂÀ̹ǷΠÀ¯³äÇÏ¿© ºÁ ÁÖ¼¼¿ä.

Protocol Base #


ÇÁ·ÎÅäÄÝ º£À̽º, Áï °¡Àå ±âº»ÀûÀÎ ¾à¼ÓÀ» ¸»ÇÑ´Ù. ÇÁ·ÎÅäÄÝ º£À̽º´Â 1) °³°³ÀÇ ÆÐŶÀ» ±¸ºÐÇÏ´Â ¹æ¹ý°ú 2) ÆÐŶÀÇ ±¸Á¶¸¦ ÀǹÌÇÑ´Ù. ÀϹÝÀûÀÎ ÇÁ·ÎÅäÄÝ¿¡¼­´Â PCÅë½Å ¹æ½ÄÀÇ Line Buffering ¹æ½Äµµ ÀÌ¿ëµÇÁö¸¸, ÃÖ±ÙÀÇ ¿Â¶óÀΰÔÀÓ¿¡¼­´Â Binary Structured PacketÀÌ °¡Àå ¸¹ÀÌ »ç¿ëµÇ¾îÁø´Ù.

Line ±â¹Ý Text ÇÁ·ÎÅäÄÝ #

ÇÑ ¶óÀÎÀÇ ³¡ÀÎ CR ȤÀº LF¸¦ ±âÁØÀ¸·Î ÇÏ¿©, ÇϳªÀÇ ÆÐŶÀ¸·Î Ãë±ÞÇÏ´Â Åë½Å¹æ½ÄÀÌ´Ù. HTTP, TELNET, FTP, NNTP, SMTP, rlogin µî ´ëºÎºÐÀÇ À¯¸íÇÑ ÀÎÅÍ³Ý ¼ÒÇÁÆ®¿þ¾îµéÀº ÀÌ ¹æ½ÄÀÇ ±â¹ÝÇÁ·ÎÅäÄÝ·Î ±¸¼ºµÇ¾î ÀÖ´Ù. ÀÎÅͳÝÀÇ ÃÊâ±â¸¦ ÁöÈÖÇÏ´ø unix ¼­¹öµéÀÇ ÄܼÖƯ¼º¿¡¼­ À¯·¡µÈ µíÇÏ´Ù.

ÀÌ ÇÁ·ÎÅäÄÝÀº, ¿À·ù¿¡ °­ÇÏ°í µð¹ö±ëÀÌ ¿ëÀÌÇÏÁö¸¸ CR À̳ª LF¸¦ ¸¸³ª±â Àü±îÁö ¾ó¸¶¸¸Å­ÀÌ ÇϳªÀÇ ÆÐŶÀÎÁö ¾Ë ¼ö ¾ø°í, ÇϳªÀÇ ÆÐŶÀ» Àü¼Û¹Þ¾Ò´Ù°í ÇÏ´õ¶óµµ º°µµÀÇ ÆĽÌÀ» ÅëÇØ ÆĶó¹ÌÅ͵éÀ» ºÐ¸®Çس»¾ß ÇϹǷΠ- µ¢´Þ¾Æ ¹®ÀÚ¼ýÀÚ¸¦ ¼ýÀÚ·Î ¹Ù²Ù´Â Àϸ¶Àú ÇØ¾ß ÇÑ´Ù - ÇÁ·Î±×·¡¸ÓµéÀÌ ´ëü·Î ½È¾îÇÏ´Â °æÇâÀÌ ÀÖ´Ù. Áï, ¾ÈÁ¤¼º/µð¹ö±ëÆí¸®¼ºÀº ¿ì¼öÇÏÁö¸¸ °³¹ßÀÌ ±î´Ù·Ó´Ù. À¯¿¬¼ºÀÌ ÁÁ´Ù.

 
  ±¸Çö¿¹ (¼Û½Å)
    sprintf(packet, "%d %d %d %s\n", packet1.id, packet1.count, packet1.action, packet1.charname);
    socket.send(packet, strlen(packet));

  ±¸Çö¿¹ (¼ö½Å)
    nsize = DetectCR(socket.recvbuffer); // 1°³ÀÇ ÆÐŶ ¿Ï¼º È®ÀÎ
    if(!nsize) return;
    
    memcpy(packet, socket.recvbuffer, nsize); // ¼ö½Å¹öÆ۷κÎÅÍ º¹»ç
    ParseString(packet, " ", arr_packet); // ÆÐŶ ¿ä¼Ò ±¸ºÐ 
    ...

Structure ±â¹Ý Binary ÇÁ·ÎÅäÄÝ #

±¸Á¶Ã¼¸¦ Åë°·ÎÇÏ¿© ¹ÙÀ̳ʸ®·Î Àü¼ÛÇÏ´Â ¹æ½ÄÀÌ´Ù. 1¹ÙÀÌÆ®ÀÇ ¿À·ù¸¸À¸·Î Åë½ÅÀÌ ³¡À峪´Â Ä¡¸íÀûÀÎ ´ÜÁ¡À» °¡Áö°í ÀÖÁö¸¸, ±¸Á¶Ã¼ ±×´ë·Î Àü¼ÛÇÏ°í Àü¼Û¹ÞÀ» ¼ö ÀÖÀ¸¹Ç·Î ÇÁ·Î±×·¡¸ÓµéÀÌ ¼±È£ÇÑ´Ù. ¾ÈÁ¤¼º/µð¹ö±ëÆí¸®¼ºÀÌ ¶³¾îÁø´Ù. À¯¿¬¼ºÀÌ ¾ø´Ù. °³¹ßÀÌ ½¬¿îÆíÀÌ´Ù.

 
  ±¸Çö¿¹ (¼Û½Å)
    socket.send(&packet, sizeof(packet));

  ±¸Çö¿¹ (¼ö½Å)
    if(ispacket(socket.recvbuffer))  // 1°³ ÆÐŶ¿Ï¼º°Ë»ç
        memcpy(packet, socket.recvbuffer, sizeof(packet)); // ÆÐŶ ±¸Á¶Ã¼·Î º¹»ç
    ...

Protocol Version #


Request Timeout #


Flexibility #

°³¹ß ´Ü°è¿¡¼­ ÀÚÁÖ ¹ß»ýÇÏ´Â ÆĶó¹ÌÅÍÀÇ °¹¼öº¯È­³ª µ¥ÀÌÅÍÀÇ ¹üÀ§º¯È­¿¡ ´ëÇؼ­ ÇÁ·ÎÅäÄÝÀº ¹öÀüÀ» ¿Ã¸®Áö ¾Ê´õ¶óµµ ¹Ù·Î ó¸®ÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºµÇ¾îÁ® ÀÖ¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î Á¤¼ö 4°³¸¦ ½Ç¾î º¸³½´Ù°í ÇÒ ¶§¿¡ ´ÙÀ½ µÎ°¡Áö »óȲÀ» °í·ÁÇØ º¸ÀÚ. ¸¹Àº °³¹ßÀÚµéÀº ´ÜÁö! ÇÁ·Î±×·¡¹ÖÇϱ⠽±´Ù´Â ÀÌÀ¯¸¸À¸·Î 1)°ú °°Àº ¼³°è¸¦ Çعö¸®°í½ÍÀº °­ÇÑ À¯È¤À» ¹Þ´Â´Ù.

// #1
// ¼ýÀÚ¸¦ 3ÀÚ¸®·Î Á¦ÇÑÇÏ¿©, ºóÀÚ¸® 0 À» ä¿ìµµ·Ï ÇÑ´Ù.
// ¿¹) 001:002:003:004

// #2
// ¼ýÀÚÀÚ¸®¼ö¿¡ Á¦ÇÑÇÏÁö¾Ê´Â´Ù.
// ¿¹) 1:2:3:4

¾î¶² ÀÌÀ¯¿¡ ÀÇÇؼ­ 3ÀÚ¸®¸¦ ÃÊ°úÇÏ´Â ¼ýÀÚ°¡ Àü´ÞµÇ¾î ¿Ã ¼öµµ ÀÖ°í, ÆĶó¹ÌÅÍ°¡ 5°³ ÀÌ»óÀÌ ¿Ã ¼öµµ ÀÖ´Ù. ÇÁ·Î±×·¥Àº ÀÌ·± ³ÍÅ©¸®Æ¼Äà ¿À·ùµé¿¡ ´ëÇؼ­µµ ´ëºñ¸¦ ÇØ¾ß ÇÏÁö¸¸, ÇÁ·ÎÅäÄݵµ ÀÌ Á¤µµÀÇ À¯¿¬¼ºÀ» °¡Áö°íµµ·Ï ¼³°è µÇ¾î¾ß ÇÑ´Ù.


Heartbeat #


Securities #


last modified 2005-04-19 18:00:56
EditText|FindPage|DeletePage|LikePages|