ÇÁ·Î±×·¡¹Ö

 3206, 9/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   skwksk
   ÀÌ°ÅÀÌ°Å ¹®Á¦°¡ °è¼Ó ³ª¿À´Â±º¿ä.¤Ð¤Ð

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=2169 [º¹»ç]


#include<winsock2.h>
#include<process.h>
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>

#define BUF 100       //ÀÔ·Â µ¥ÀÌÅÍÀÇ Å©±â

HANDLE mutex;   //¹ÂÅؽº ¼±¾ð
SOCKET sock_client2[5];     /*   ¾²·¹µå¿¡¼­ Á¢±ÙÇÒ µ¥ÀÌÅÍ    */
int user_num=0;

void Error(char *msg);  //¿¡·¯¸Þ¼¼Áö Ãâ·Â
DWORD WINAPI client_paly(void *arg);   //Ŭ¶óÀ̾ðÆ® ¸Þ¼¼Áö¹Þ´Â ÇÁ·Î±×·¥
void messagesend(char *message, int MSGlen);   //¸Þ¼¼Áö Àü´ÞÇϱâ

int main(int argc, char **argv)
{
        WSADATA wsadata;
        SOCKET sock_serv, sock_client;
        SOCKADDR_IN addr_serv, addr_client;
        int addr_size,count=0;
        HANDLE thread;
        unsigned int dwThreadID;

        if(WSAStartup(MAKEWORD(2,2), &wsadata)!=0)
                Error("WSAStartup Error");

        mutex = CreateMutex(0,FALSE,0);  //¹ÂÅؽº »ý¼º

        sock_serv = socket(PF_INET, SOCK_STREAM, 0);
        if(sock_serv == INVALID_SOCKET){
                WSACleanup();
                Error("SOCKET() Error");
        }

        memset(&addr_serv,0,sizeof(addr_serv));
        addr_serv.sin_family = AF_INET;
        addr_serv.sin_addr.s_addr = htonl(INADDR_ANY);
        addr_serv.sin_port = htons(atoi(argv[1]));

        if(bind(sock_serv, (SOCKADDR *) &addr_serv, sizeof(addr_serv))==SOCKET_ERROR){
                WSACleanup();
                Error("BIND Error");
        }

        if(listen(sock_serv,5)==SOCKET_ERROR){
                WSACleanup();
                Error("listen Error");
        }

        while(1){
                addr_size=sizeof(addr_client);
                sock_client=accept(sock_serv,(SOCKADDR *)&addr_client,&addr_size);
                if(sock_client==INVALID_SOCKET){
                        WSACleanup();
                        Error("sock_client Error");
                }
                
                WaitForSingleObject(mutex,INFINITE);  //¹ÂÅؽº ¾ò±â
                sock_client2[user_num]=sock_client;
                user_num++;
                ReleaseMutex(mutex);   //¹ÂÅؽº ¹Ýȯ
                
                printf("»õ·Î µé¾î¿Â À¯Àú ID : %d \n",sock_client);

                thread = (HANDLE)_beginthreadex(NULL, 0, (unsigned int(__stdcall *)(void *))client_paly,
                                      (void*)sock_client, 0, (unsigned int*)&dwThreadID);// ¾²·¹µå »ý¼º
                if(thread == 0){
                        WSACleanup();
                        Error("thread Error");
                }
        }

        WSACleanup();
        return 0;
}

DWORD WINAPI client_paly(void *arg)
{
        SOCKET sock_client = (SOCKET)arg;
        char buffer[BUF];
        int len,i;

        while((len=recv(sock_client, buffer, BUF, 0))!=0)
                messagesend(buffer,len);

        printf("Á¢¼Ó Á¾·á À¯Àú ID : %d \n",sock_client);
        WaitForSingleObject(mutex,INFINITE);
        for(i=0;i<user_num;i++){   //À¯Àú ¿¬°á Á¾·á
                if(sock_client==sock_client2[i]){
                        for( ;i<user_num-1;i++)
                                sock_client2[i]=sock_client2[i+1];
                        break;
                }
        }
        user_num--;
        ReleaseMutex(mutex);
        closesocket(sock_client);
        return 0;
}

void messagesend(char *message, int MSGlen)
{
        int i;
        WaitForSingleObject(mutex,INFINITE);
        for(i=0;i<user_num;i++)
                send(sock_client2[i],message,MSGlen,0);
        ReleaseMutex(mutex);
}

void Error(char *msg)
{
        fputs(msg,stderr);
        fputc('\0',stderr);
        exit(1);
}

°£´ÜÇÑ ¼­¹ö ÇÁ·Î±×·¥ ÀÔ´Ï´Ù. ¸Þ¼¼Áö°¡ µé¾î¿À¸é Á¢¼ÓµÇ¾î Àִ Ŭ¶óÀ̾ðÆ®µé¿¡°Ô ¸Þ¼¼Áö¸¦ »Ñ·ÁÁÖ´Â ¾ÆÁÖ¾ÆÁÖ °£´ÜÇÑ Ã¤Æà ¼­¹öÀÔ´Ï´Ù. ÇÏÁö¸¸... ÀÌ°Å¿ø... ÀÌ·± °£´ÜÇÑ ÇÁ·Î±×·¡¹Öµµ ¿¿ ¸Å°í Àֳ׿ä.¤Ð¤Ð ¿Ö ¸Þ¼¼Áö¸¦ »Ñ·ÁÁÖÁö ¸øÇϴ°ɱî¿ä.. Ŭ¶óÀ̾ðÆ®¿¡¼­ Á¢¼ÓÇؼ­ ¸Þ¼¼Áö¸¦ º¸³»¸é µ¹·Á ¹ÞÁö¸¦ ¸øÇÕ´Ï´Ù. send()¶û Ŭ¶óÀ̾ðÆ® ¼ÒÄÏ ÇÒ´çÇϴºκеîÀ» ´Ù½Ã ºÁµµ ÀÌ»óÇÑ °÷ÀÌ ¾ø´Â°Å °°Àºµ¥... ¿Ö±×·²±î¿ä.¤Ð¤Ð

  Hit : 3181     Date : 2009/10/25 10:39



    
commio ±×³É Á¢À¸¼¼¿ä ¤Ñ¤Ñ^
Á¸³ª ¾îÀÌ ¾ø³×¿ä °¡¸£ÃÄÁØÁö ÇÏ·ç°¡ ¹ÛÀÌ ¾ÈÁö³µ¾î¿ä ¤Ñ¤Ñ^
ÀÌ·¸°Ô ÀÌÇط¾ø°í °°Àº°É·Î ½Ç¼öÇÒÁ¤µµ¶ó¸é ±×³É ¸¾ÆíÈ÷ ¸Ô°í Á¢À¸¼¼¿ä Èñ¸ÁÀÌ ¾Èº¸ÀÓ
2009/10/25  
tseug ¸»¾¸ÀÌ Áö³ªÄ¡½Ê´Ï´Ù....
Èñ¸ÁÀÌ ¾ø´Ù´Ï¿ä.......
2009/10/25  
commio ¶È°°Àº ¹®Á¦·Î ÇÏ·çµµ ¾ÈÁö³ª¼­ ´äº¯À» Çϴ°É... ¾î¶»°Ô »ý°¢ÇϽʴϱî...? 2009/10/25  
skwksk À½... ¾îÁ¦´Â ¸ÞÀÎ ¾²·¹µå°¡ Á¾·áµÇ¼­ °°ÀÌ Á¾·áµÇ´Â°Å ¾Æ´Ï¿´³ª¿ä??
ÀÌ°Å´Â while·Î °è¼Óµ¹°Ô µÇ¾îÀ־ Á¾·áµÇÁö ¾Ê´Âµ¥......
±×¸®°í commio´ÔÀº Çѹø ½Ç¼öÇÑ°É ´Ù½Ã´Â ½Ç¼ö ÇÏÁö ¾Ê³ªº¸³×¿ä... Àú´Â ±×·¸Áö ¸øÇؼ­ ¹Ýº¹ÇнÀÀ» Çؾߵǰŵç¿ä.... ½Ç¼ö ÇÏÁö ¾ÊÀ¸¼Å¼­ ÁÁ°Ú½À´Ï´Ù. ºÎ·´³×¿ä.¤¾¤¾
2009/10/25  
commio ¾Æ.. - _-;; À߸øºÃ³×¿©...Èæ...¤¸¤µ¿©..
¿¡·¯Ã³¸®´Â ÀüºÎÇغ¸¼Ì³ª¿ä..?
Áß°£Áß°£ È®Àΰú ÆÐŶ½º´ÏÇÎÀº¿ä? ...
Àü ´©±º°¡¿¡°Ô Áú¹®ÇϱâÀü¿¡ 2~3ÀÏÀº È¥ÀÚ °í¹ÎÇÏ°í ÇØ°áÇÏ´Â ½ºÅ¸ÀÏÀ̶ó... Çѹø ½Ç¼öÇÑ°Ç ÀØÀ»·¡¾ß ÀØÀ»¼ö°¡ ¾øÁÒ ¤Ð¤Ð¤Ð¤Ð
Á¶±Ý´õ »ý°¢Çغ¸½Ã°í... ¸ðµç ¿¡·¯Ã³¸®, Áß°£Áß°£ÀÇ µ¥ÀÌÅÍÈ®ÀÎ, ÆÐŶ½º´ÏÇÎ.. ÀÌÁ¤µµ´Â Çغ¸½Ã¸é ´äÀÌ ³ª¿ÃµíÇѵ¥..
2009/10/25  
k1rha commio ´ÔÀÌ ´äº¯À» ³Ê¹« ¿­½ÉÈ÷ ´Þ¾ÆÁֽôٺ¸´Ï ¤»¤»
ÀÌ·¡Àú·¡ Èûµå½Åµí --¤»
2009/10/26  
commio k1rha ´ÔÀÌ ¿ËÈ£ÇØÁ༭...¤»¤µ¤»...
¸»µµ ³ª»Ú°Ô ÇѰ͵µ ÀÖ°íÇؼ­...
±×´ë·Î °¡Á®´Ù°¡ Å×½ºÆ® Çغôµ¥ ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Âµ¥¿ä..¤Ð_¤Ð..
Ŭ¶óÀ̾ðÆ®ÂÊ ¹®Á¦ ¾Æ´Ñ°¡¿ä - _-?
2009/10/26  
commio ±×¸®°í Àü¿¡µµ ¾Ö±âÇÑ°Å °°Áö¸¸ Áߺ¹µÇ´Â Çì´õÆÄÀÏ ¼±¾ð°ú ¾²Áö¾Ê´Â Çì´õÆÄÀÏ ¼±¾ð½Ã ¾î¶»°Ô µÉÁö ¸ð¸£¹Ç·Î ¿Ø¸¸Çϸé ÇÇÇÏ½Ã´Â°Ô ÁÁ½À´Ï´Ù. ( ÀÌ·±½ÄÀ¸·Î Çì´õÆÄÀÏÀ» ¼±¾ðÇҰŸé #include <headall.h>
¶ó´Â°É ¸¸µé¾î µÎ°í ¾²°ÚÁÒ. À§ÇèÇϴϱñ ¾ÈÇϴ°ſ¡¿ä ÇÁ·Î±×·¥¿¡µµ ºÎÇÏ°¡ ¸¹ÀÌ °É¸®°í )
¶ÇÇÑ µ¿±âÈ­ ÇÔ¼öÀÇ ³²¹ß... ¹°·Ð µ¿±âÈ­¸¦ ÇؾßÇÒ Çʿ伺Àº ºÐ¸íÈ÷ ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ µ¿±âÈ­ ¹æ¹ý¿¡¼­ ¹®Á¦°¡ Àִ°ÅÁÒ,
¹Ù·Î ¹ÂÅؽº »ç¿ëÀÔ´Ï´Ù. ¹ÂÅؽº´Â Ä¿³Î µ¿±âÈ­ ¸ðµâÀÓ´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀÌ Ä¿³Î¿¡ ÁøÀÔÇϱ⿡´Â Á¶±Ý¸¹ÀÌ ÈûÀ̵ë´Ï´Ù, ÀÌ·¸°Ô ÈûÀ̵å´Â°ÍÀ» »ç¿ëÇÒ ÀÌÀ¯°¡ ¾øÀ¸´Ï, Å©¸®Æ¼Äü½¼ÇÀ» »ç¿ëÇϼ¼¿ä.
¹«Á¶°Ç »óÀ§ÀÇ ÇÔ¼ö¸¦ ¾´´Ù°í ÁÁÀº ÇÁ·Î±×·¥ÀÌ ¾Æ´Ô´Ï´Ù, ÇÊ¿ä¿¡ µû¶ó¼­ Àû´çÇÑ ÇÔ¼ö´Â ¾²´Â°ÍÀÌ ÁÁ½À´Ï´Ù.
2009/10/26  
pr0sp3r commio // ÀÇ¿åÀÌ ³ÑÃļ­ ¿åÀ» ¸Ô´Â ÄÉÀ̽º³×¿ä ^^; Á¶±Ý´õ ¸Ö¸® ³Ð°Ô º¸½Ã°í ¿­°øÇϼ¼¿ä
¸ðµÎ°¡ ´Ù ³»¸¾ °°Áö´Â ¾ÊÀ¸´Ï

ÇØ´ç ¹®Á¦¿øÀÎÀ» ãÀ¸·Á¸é ¾îµð¼­ ¹®Á¦°¡ ¹ß»ýÇÏ´ÂÁö ºÎÅÍ ¾Ë·ÁÁà¾ß ¿¹ÀÇ°¡ ¾Æ´Ñ°¡ ½Í±º¿ä.

±âº»ÀûÀÎ sock µ¿ÀÛÀº ¾Æ·¡¿Í °°½À´Ï´Ù.(¹°·Ð ¸®´ª½ºÀÔ´Ï´Ù)
À©µµ¿ìµµ Å©°Ô Ʋ¸®Áø ¾Ê½À´Ï´Ù.

¾Æ·¡ °¢°¢ ÇÔ¼öµéÀÌ ¾î¶² ¿ªÈ°À» ÇÏ°í ÀԷ°ú Ãâ·ÂÀÌ ¾î¶² ÇüÅ·ΠÀÌ·ç¾îÁö´ÂÁö ¾È´Ù¸é
¾î¶² ºÎºÐ¿¡¼­ ¹®Á¦°¡ ¹ß»ýÇß´ÂÁö ¾Ë±â´Â ½±°ÚÁö¿ä.

ÀÌ·±½ÄÀÇ ¹®Á¦ ÇØ°á Á¢±Ù ¹æ¹ýÀº µð¹ö±ë½Ã¿¡µµ ºÐ¼® ½ºÅ³À» Çâ»ó ½ÃÄÑÁÝ´Ï´Ù.

±×·±°Í ¹è¿ì·Á°í ¾ð¾î¸¦ °øºÎÇÏ´Â°Ô ¾Æ´Ñ°¡¿ä? ^^;

socket()->bind()->accept()->loop:start->listen()->recv()/send()->loop:end->close()
2009/10/29  
pr0sp3r ³ªÀÇ ´ÜÁ¡°ú À߸øÀ» ÁöÀûÇØÁÖ´Â »ç¶÷ÀÇ ¸»±îÁöµµ ¹Þ¾Æ µéÀÎ´Ù¸é ´õ ¸¹Àº°É ¾òÀ» ¼ö ÀÖÀ» °Ì´Ï´Ù. 2009/10/29  
commio ¹®Á¦¸¦ ãÀ¸·Á°í ³ë·ÂÀ» ÇÏÁö¾Ê¾Ò±â ¶§¹®ÀÓ´Ï´Ù,
Àû¾îµµ ÀÚ½ÅÀÌ ¾ËÁö ¸øÇÏ´Â ¿¡·¯°¡ ³ª¿Ô´Ù¸é 2ÀÏÀº È¥ÀÚ °í¹ÎÇغÁ¾ß µÇ´Â°Å¾Æ´Ñ°¡¿ä..?
°íÀÛ ÇÏ·çÁ¶Â÷µÇÁö¾Ê¾Æ Áú¹®Çϴ»ç¶÷µéÀ» º¸¸é ±×Àú ´ä´äÇϱ⸸ ÇÕ´Ï´Ù.
±×Á¤µµÀÇ ³ë·Âµµ µéÀÌÁö ¾Ê´Â´Ù¸é ±×°Ç ±×Àú µû¶óÇϴ°ÍÀÏ »ÓÀÌ°í ´Ù¸¥ »ç¶÷µéÀÇ ±×¸²ÀÚ°¡ µÉ»ÓÀÔ´Ï´Ù.
±×¸®°í Àú ÄÚµå´Â Å×½ºÆ® °á°ú ¾Æ¹«·± ¹®Á¦°¡ ¾ø¾ú½À´Ï´Ù - -;;
°á±¹ Å×½ºÆ®Á¶Â÷ Á¦´ë·Î Çغ¸Áö¾Ê¾Ò°í µð¹ö±ëÀ̶ó´Â°Å ÀÚü¸¦ Çغ¸Áö¾Ê¾Ò´Ù´Â°ÅÁÒ..
ÀÌ·± ¼ºÀǾøÀ½¿¡ ¾î¶»°Ô ´ë´äÇÏ´Â°Ô ¿ÇÀ»±î¿ä..?
2009/10/29  
crownw Á¦°¡ ÇѸ¶µð¸¸ ÇÒ²²¿ä Á¤¸» ¿ÀÇظ¶¼¼¿ä Á¦ °æÇèÀ» Á÷Á¢ ¾ê±âÇص帮´Â°Å¿¡¿ä

Àúµµ ¿¹Àü¿¡ Á¦°¡ Ç®¾î¾ßÇÒ ¼Ò½º¸¦ ¸ô¶ó¼­ ÇØÄ¿½ºÄð ¿©±â³ª ´Ù¸¥»çÀÌÆ®¿¡ ´ë½Å ¼öÁ¤Á» ÇØ´Þ¶ó°í ÈùÆ®Á» ´Þ¶ó°í ¿Ã¸°ÀûÀÌ ÀÖ¾ú½À´Ï´Ù

±×·¯³ª ½Ã°£ÀÌ Áö³ª°í ³­µÚ ±× ¼Ò½ºµéÀº ³²ÀÌ ÇØÁØ°ÍÀ̱⠶§¹®¿¡ ´Ù Àؾî¹ö·ÈÁÒ

ÇÏÁö¸¸ Áö±ÝÀº ±×·¸Áö ¾Ê¾Æ¿ä Á¦°¡ »ý°¢ÇÏ°í ½º½º·Î ³¡±îÁö ¹ÙÅÁÀÌµÈ ±âÃÊ·Î »ý°¢ÇÏ´Ùº¸¸é

Á¤¸»·Î Á¦°¡ ¼Ò½º¸¦ Ç® ¼öÀְԵǾú¾î¿ä ¶Ç ±× ¼Ò½º´Â ¹Ù·Î Á¦ °ÍÀÌ µÇ¾ú±¸¿ä

Á¦°¡ ÇÏ°í ½ÍÀº ¸»Àº °á·Ð µü ÇÑ°¡Áö ÀÔ´Ï´Ù.

½º½º·Î Çѹø Çغ¸¼¼¿ä Á¤¸» »ý°¢ÇÏ¸é ´ÙµË´Ï´Ù. ¹°·Ð ±âÃÊ°¡ ¹ÙÅÁÀÌ µÇ¾îÀÖ¾î¾ß°ÚÁÒ

Á¤¸» ÀÔ´Ï´Ù.
2009/10/31  
goaqjrjwlrp vc++6.0¿¡¼­ À§ ¼Ò½ºµé ÄÄÆÄÀÏÇÒ‹š ¸ÖƼ¾²·¹µå,w2_32.libÃß°¡½ÃŲ´ÙÀ½
DWORD¸¦ unsinged int·Î ¹Ù²Ù¾î¾ß µÊ
ÀÌ·¸°Ô Çؼ­ ÄÄÆÄÀÏ¿¡·¯³ª¸é À§¼Ò½º°¡ Ʋ¸°°ÅÀÓ
2009/11/17  
3046   ÀÌ°Å Âü...-_-[3]     sagelord
09/23 4469
3045   ÀÌ°Å Ãƴµ¥ warning ³ª¿À³×¿ä[1]     °í´¢´¢¸¶½ºÅÍ
04/06 3130
3044   ÀÌ°Å Á» ¾Ë ¼ö ÀÖÀ»±î¿ä ` `;[3]     boyscrew
04/18 3090
3043   ÀÌ°Å c¾ð¾î ÄÚµå·Î ÀÛ¼ºÁ» ÇØÁÖ¼¼¿ë[4]     rardar
03/11 2933
3042   ÀÌ°Å Èñ±ÍÇÑ Çö»óÀΰ¡¿ä?[8]     rmatoa2
02/28 3216
3041   ÀÌ°Å °£´ÜÇÏ°ÔÁ» ºÎŹµå¸³´Ï´Ù.[1]     ys9658
04/06 3366
3040   ÀÌ°Å ¶§¹®¿¡ Áøµµ°¡ ¾È³ª°¡¿ä...[3]     mookhone
01/18 3580
3039   ÀÌ°Å ¹«½¼³»¿ëÀÎÁö ¸ð¸£°Ú¾î¿ä ¤Ð.¤Ð[1]     yhh0813
09/15 2506
3038   ÀÌ°Å ¹«½¼¾ð¾î¿¹¿ä?     magic0214
05/11 2633
3037   ÀÌ°Å ¹®¹ý¸Â³ª¿ä??[4]     saelly
10/21 2762
3036   ÀÌ°Å º¸½Ã°í °íÃÄÁÖ¼¼¿ä[7]     rain48
10/15 3229
3035   ÀÌ°Å ¾î¶»°Ô ÇؾßÇϳª...[2]     dkdkfjgh
11/03 2745
3034   ÀÌ°Å ¾î¶»°Ô ÄÚµùÀ» ÇؾßÇÒÁö..;;;[1]     chun4foryou
09/22 2565
3033   ÀÌ°Å ¾î¶»°ÔÇؾßÇÏÁÒ? °³³äÀâ¾ÆÁÖ¼¼¿ä     ½È¾î ³»°¡ÇÒ²¨¾ß
02/07 3074
3032   ÀÌ°Å ¿Ö ÀÛµ¿ÀÌ ¾ÈµÉ±î¿ä .... ¿À·ùÁ»¾Ë·ÁÁÖ¼¼¿ä[3]     djrwotlsehd
09/27 2705
3031   ÀÌ°Å ¿Ö °æ°í°¡ ¶ß´ÂÁö¾Ë¼öÀÖÀ»±î¿ä? c¾ð¾î·Î ¸¸µé¾ú½À´Ï´Ù[2]     Opportunity
02/16 3930
3030   ÀÌ°Å ¿Ö ¾ÈµÇ³ª¿ä ¤Ð¤Ð[2]     ysp0530
09/08 8719
3029   ÀÌ°Å ¿Ö ¾ÈµÇ³ª¿©?(Windows ÇÁ·Î±×·¡¹Ö)[2]     ysp0530
09/06 2873
3028   ÀÌ°Å. C#±âÃÊ ¤Ð_¤Ð ¹«ÇÑ·çÇÁÁ» µµ¿ÍÁÖ¼¼¿è ¤Ð_¤Ð[1]     alex127
08/22 4751
  ÀÌ°ÅÀÌ°Å ¹®Á¦°¡ °è¼Ó ³ª¿À´Â±º¿ä.¤Ð¤Ð[13]     skwksk
10/25 3180
[1][2][3][4][5][6][7][8] 9 [10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org