ÇÁ·Î±×·¡¹Ö

 3204, 1/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 : 3191     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  
3204   Ä¡Æ®¿£Áø °í¼öºÐ °è½Ç±î¿ä[1]     rjsdudals123
02/15 225
3203   ¿À·ù Á» ã¾ÆÁÖ¼¼¿ä [1]     marunim
05/30 953
3202   c¾ð¾î segmentation fault:11 ¿À·ù Áú¹®µå¸³´Ï´Ù![2]     leebk1124
05/21 2032
3201   C++ÇÔ¼ö°ü·Ã Áú¹®ÀÌ¿¡¿ë!![3]     1999dylee
05/11 1859
3200   ÆÄÀ̽ã Áö¹® µå¸³´Ï´Ù.[1]     kksh1107
04/24 1599
3199   ¸®¹ö½ÌÀÇ ¼¼¹ø¤Š ²É - ¿ª¶û-     nninni79
04/20 2307
3198   ´Þ°í³ª ¹®¼­ ½©ÄÚµå[1]     ghjk645
03/24 1621
3197 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î ¼Ò¼ö °ª     adwefq
04/29 1
3196   C¾ð¾î ¼Ò½ºÁú¹®ÀÔ´Ï´Ù![5]     an0088
01/05 5178
3195   C++ /// ºôµå ¿¡·¯ ¤Ð¤Ð[1]     guichanta
08/23 2411
3194 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î µµ¿ÍÁÖ¼¼¿ä¤Ð¤Ð     su6339
04/06 0
3193   ÇØÅ·À» ¹è¿ì·Á°íÇϴµ¥[3]     zoodem04
03/26 4188
3192   c¾ð¾î¸¦ ¹è¿ì°í½Í¾î¿ä ![7]     dwc07238
02/11 4098
3191   ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâ¿¡ °üÇؼ­!![1]     hackxx123
12/10 3535
3190   ÇØÅ·Åø¿¡¼­ ip ¾øÀÌ Çϵ忡 ½É´Â°Å¿¡´Â ¾î¶²°Ô ÀÖÀ»±î¿ä?[2]     aowlrgmlals
11/27 4325
3189   C¾ð¾î Çϴµ¥ double ½Ç¼ö¸¦ ³ÖÀºµ¥ ÀÚ²Ù 0.0ÀÌ ³ª¿Í¿ä[2]     fatou10336
11/20 3786
3188   dumpcode.h ÀÌÇØÁ» µµ¿ÍÁÖ¼¼¿ä .[1]     cm6418
11/06 3759
3187   c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.[3]     alstn8150
10/12 3770
3186     [re] c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.     dafher
05/13 1597
3185   c¾ð¾î ¼Ò½º Áú¹® ¹¹°¡ ¹®Á¦ÀÎÁö¤Ì¤Ì¤Ì¤Ì[2]     sjjh96
05/23 4307
1 [2][3][4][5][6][7][8][9][10]..[161]

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