/** * @file NFDefine.h * @brief Packet¿¡ °ü·ÃµÈ ±âº» Define ¹× ½ºÆ®·°ÃÄ ¼±¾ð * @remarks * @author °­µ¿¸í(edith2580@gmail.com) * @date 2009-05-09 */ #pragma once namespace NaveServer { // ÆÐŶ 󸮸¦ UpdateQue¸¦ ÀÌ¿ëÇØ ó¸®ÇÒ°ÍÀÎÁö¿¡ ´ëÇÑ Define // ÀÌ°É È°¼ºÈ­ ½ÃŰ¸é ÆÐŶÀ» ó¸®ÇÒ¶§ Receive½º·¹µå°¡ ¾Æ´Ñ // Process½º·¹µå¿¡¼­ ÆÐŶÀ» ¾÷µ¥ÀÌÆ® ÇÑ´Ù. // UPDATEQUE ¹æ½ÄÀº Work½º·¹µå¿¡¼­ PacketÀÌ ¿Ï¼ºµÇ¸é PacketQue¸¦ ÀÌ¿ëÇØ // ÆÐŶÀ» ó¸®ÇÑ´Ù. (MMO½Ã¿¡ ÇÊ¿ä) #define ENABLE_UPDATEQUE ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // [1] User Define ////////////////////////////////////////////////////////////////////////////////////////////////////////////// #define DEF_MAXUSER 50 // Maximum connections for Test ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // [2] Server Declarations ////////////////////////////////////////////////////////////////////////////////////////////////////////////// #define IOCP_SHUTDOWN ((DWORD) -1L) // Closing Server Message #define DEF_SERVER_PORT 25000 // PORT Number ( Client¿Í µ¿ÀÏ ÇØ¾ßÇÔ ) enum ESHOW_MSGTYPE { ACCEPT_FAILED, CLOSE_SOCKET, DEAD_CONNECTION, CONNECT_SUCCESS, CONNECT_FAILED, DISPATCH_FAILED, DOIOSWITCH_FAILED, // accept ALLOCACPT_FAILED, PREPAREACPT_FAILED, // send, recv PREPARERECVSIZE_FAILED, PREPARESENDSIZE_FAILED, ALLOCRECV_FAILED, ALLOCSEND_FAILED, PREPARERECV_FAILED, PREPARESEND_FAILED, RELEASEACPT_FAILED, RELEASERECV_FAILED, RELEASESEND_FAILED, BINDIOCP_FAILED, RECVPOST_FAILED, RECVPOSTPENDING_FAILED, // ALLOCPROC_FAILED, SENDPOST_FAILED, SENDPOSTPENDING_FAILED, }; enum CONNECT_EVENT { CONNECT_NONE, CONNECT_TRUE, CONNECT_FALSE, DISCONNECT_TURE, CLOSEOPEN_TRUE, }; /// ¿­°ÅÇü Á¤ÀÇ : Ŭ¶óÀÌ¾ðÆ® ÀÛµ¿ »óŸ¦ Á¤ÀÇ ÇÑ´Ù typedef enum CONN_STATUS { ClientIoUnknown, /// Raw status ClientIoAccept, /// accept status ClientIoRead, /// read status ClientIoWrite, /// write status }*pCONN_STATUS; /// È®Àå ¿À¹ö·¦ ±¸Á¶Ã¼ : IOCP󸮽à »ç¿ë typedef struct OVERLAPPEDPLUS { OVERLAPPED overlapped; /// OVERLAPPED struct SOCKET sckListen; /// listen socket handle SOCKET sckClient; /// send/recv socket handle CONN_STATUS nConnState; /// operation flag WSABUF wbuf; /// WSA buffer DWORD dwRemain; /// DWORD dwBytes; /// Processing Data Size DWORD dwFlags; /// PVOID pClientConn; /// Processing Client }*LPOVERLAPPEDPLUS; }