ÇÁ·Î±×·¡¹Ö

 3204, 15/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   skwksk
   ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÁß....

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


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

#define BUF 100

HANDLE mutex;
char message[BUF];

void Error(char *msg);
DWORD WINAPI sender(void *Csock);
DWORD WINAPI recver(void *Csock);

int main(int argc, char **argv)
{
        WSADATA wsadata;
        SOCKET sock_client;
        SOCKADDR_IN addr_client;
        HANDLE thread1,thread2;
        DWORD dwthread1,dwthread2;

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

        if((sock_client = socket(AF_INET, SOCK_STREAM,0)) == INVALID_SOCKET){
                WSACleanup();
                Error("socket Error");
        }

        mutex = CreateMutex(NULL,false,NULL);

        memset(&addr_client, 0, sizeof(addr_client));
        addr_client.sin_family = PF_INET;
        addr_client.sin_addr.s_addr = inet_addr(argv[1]);
        addr_client.sin_port = htons(atoi(argv[2]));

        if(connect(sock_client,(SOCKADDR*)&addr_client,sizeof(addr_client))==SOCKET_ERROR){
                WSACleanup();
                Error("connect Error");
        }

        thread1 = (HANDLE)_beginthreadex(NULL, 0, (unsigned int(__stdcall *)(void*))sender, NULL, 0,(unsigned int*) &dwthread1);
        thread2 = (HANDLE)_beginthreadex(NULL, 0, (unsigned int(__stdcall *)(void*))recver, NULL, 0,(unsigned int*) &dwthread2);

        if(thread1==0||thread2==0){
                WSACleanup();
                Error("_beginthreadex Error");
        }

        WSACleanup();
        return 0;
}

DWORD WINAPI sender(void *Csock)
{
        SOCKET sock_client=(SOCKET)Csock;
        while(1){
                WaitForSingleObject(mutex,INFINITE);
                fgets(message,BUF,stdin);
                send(sock_client,message,strlen(message),0);
                ReleaseMutex(mutex);
        }
        closesocket(sock_client);
        return 0;
}

DWORD WINAPI recver(void *Csock)
{
        SOCKET sock_client = (SOCKET)Csock;
        int len;
        
        while(1){
                WaitForSingleObject(mutex,INFINITE);
                len=recv(sock_client,message,BUF-1,0);
                message[len]=0;
                fputs(message,stdout);
                ReleaseMutex(mutex);
        }
        closesocket(sock_client);
        return 0;
}

void Error(char *msg)
{
        fputs(msg,stderr);
        fputc('\0',stderr);
        exit(1);
}
¿¬½ÀÀ¸·Î ¸¸µé°í ÀÖ´Â ¾²·¹µå ÇÁ·Î±×·¥ ÀÔ´Ï´Ù.  ¿¡ÄÚ ¼­¹ö¿¡ ¸Þ¼¼Áö¸¦ º¸³»°í µ¹¾Æ¿À´Â ¸Þ¼¼Áö¸¦ ¹Þ´Â Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥ ÀÔ´Ï´Ù. ¸ÖƼ¾²·¹µå¸¦ ÀÌ¿ë ÇÏ¿´°í ¹ÂÅýº¸¦ »ç¿ë ÇÏ¿´½À´Ï´Ù. ¹®Á¦´Â °­Á¦ Á¾·á Çϱâ Àü¿¡ ²¨Áö¸é ¾ÈµÇ´Âµ¥... ¸Þ¼¼Áö¸¦ Çѹø º¸³»°í Çѹø ¹ÞÀ¸¸é ¹Ù·Î Á¾·á¸¦ Çعö¸³´Ï´Ù.  sender, recver ¿¡ º¸¸é while¹®À¸·Î °è¼Ó µ¹°Ô ¸¸µé¾ú´Âµ¥.. ÀÌ»óÇÏ°Ô Çѹù¸¸ µ¹¾Æ°¡°í ³ª°¡Áö³×¿ä..¤Ð¤Ð  ¿Ö±×·²±î¿ä??

  Hit : 3603     Date : 2009/10/24 08:39



    
k1rha while ¹®ÀÌ ²÷±â´Â Çö»ó°ú´Â °ü·ÃÀÌ ¾øÀ»²¨ °°Áö¸¸.. recv ÇÑ º¯¼ö°ªÀ» ÃʱâÈ­ ½ÃÄÑÁÖÁö ¾ÊÀ¸¸é µ¤¾î¾²±â°¡ µÇ½Ç²®´Ï´Ù.. À̺κÐÇÏ°í.. À̰͵µ Á¤È®ÇÑ°Ç ¾Æ´ÏÁö¸¸.. while ¹®¿¡¼­´Â Á¤È®ÇÑ°Ç ¾Æ´Ñµ¥ sockÇÔ¼ö¸¦ close ½ÃÅ°´Â ºÎºÐ°ú ´Ù½Ã »ý¼ºÇØ ÁÖ´Â ºÎºÐÀÌ while ¹® ¾È¿¡ µé¾î°¡¾ßÇÏÁö ¾ÊÀ»±î ½Í³×¿ä 2009/10/24  
k1rha ¸®´ª½ºÂÊ¿¡¼­¹Û¿¡ ¼ÒÄÏÀº ¾ÈÇغÁ¼­..^^:;;
Çѹø while ¹®¾È¿¡ ¼ÒÄÏ »ý¼º±¸¹®°ú Ŭ·ÎÁî ±¸¹®À» ³Ö°í ¸Þ½ÃÁö °ªÀ» ÃʱâÈ­½ÃÄÑÁÖ´Â ±¸¹®À» Ãß°¡Çغ¸¼¼¿ë ±×·¡µµ ¾ÈµÇ¸é.......
¾Æ·¡ ¸®Çô޾ÆÁֽô ºÐÀÌ ¼³¸íÇØÁֽDz®´Ï´Ù ¤¾¤¾
2009/10/24  
commio ¤Ñ¤Ñ ...
´ç¿¬ÇÏ°ÅÁÒ!! ´ç¿¬È÷ ÇѹøÁ¤µµ ¹ÛÀÌ ¸øÇÏ°í Á¾·áµÇ´Â°ÍÀÌ Á¤»óÀÔ´Ï´Ù, ¿¡·¯¸Þ¼¼Áö°¡ ¾È¶á°Ô ½Å±âÇϱº¿ä - _-;; Á¦°¡ ÀÌ·¡¼­ ÀýÂ÷ÁöÇâÀ» °­Á¶Çϴ°ǵ¥... C¿Í C++ÀÇ Â÷À̵µ ¸ð¸£´Â»ç¶÷µµ ÀÖ°í....
½º·¹µå 2°³¸¦ »ý¼º½ÃŲÈÄ ¸ÞÀνº·¹µå´Â ¹»ÇÒ±î¿ä..?
WSACleanup() .. ¼ÒÄÏ dllÀ» ÃʱâÈ­ ½ÃŲ´ÙÀ½ Á¾·áÇϳ׿ä...
¾Ñ.. ±×·³ ¸ÞÀνº·¹µå°¡ Á¾·áµÇ¸é ¾î¶»°Ô µÉ±î¿ä..? ÀüºÎ Á¾·áµË´Ï´Ù... µû¶ó¼­ ÇѹøÁ¤µµ ½ÇÇàµÇ´Â°Íó·³ º¸À̴°ÍÀÔ´Ï´Ù...
¼³Ä¡ÁöÇâ ·¯ºä~
2009/10/24  
skwksk ¾Æ!!!! ¸ÞÀνº·¹µå¸¦ ¹Ìó »ý°¢ ÇÏÁö ¸øÇß±º¿ä.¤Ð¤Ð °¨»çÇÕ´Ï´Ù... ÀÌ°Å´Â ½º·¹µå ¿¬½À¿ëÀ¸·Î ¸¸µç°Å¶ó ½º·¹µå¸¦ ÃÖ´ëÇÑ ¸¹ÀÌ ¸¸µé¾î º¼¶ó±¸ ÇÏ´Ù ¸ÞÀνº·¹µå¸¦ »ý°¢Ä¡ ¸øÇß±º¿ä...¤¾¤¾¤¾ 2009/10/24  
2924   ¼ÒÄÏÇÁ·Î±×·¡¹Ö - recvfrom À̳ª sendto ÇÔ¼öÀÇ Æ¯Â¡[2]     chamchi
09/18 6195
2923   ¼ÒÄÏÀ¸·Î ÅÚ³Ý Åë½ÅÀ» ÇÏ·Á¸é ¾î¶»°ÔÇؾßÇϳª¿ä??     jjong1986
05/25 2728
2922   ¼ÒÄÏ... ¹º°¡ ÀÌ»óÇØ¿ä - _-;;[2]     commio
06/21 2660
  ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÁß....[4]     skwksk
10/24 3602
2920   ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀ¸·Î »ó´ë¹æÀÇ cmd¸¦ ȹµæÇÏ°íÀÚ Çϴµ¥¿ä[1]     jjong1986
05/04 3044
2919   ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀ¸·Î thread¸¸µé¶§¿ä     jjong1986
05/23 2763
2918   ¼ÒÄÏ ÇÁ·Î±×·¡¹Ö ¿¡·¯!![2]     h@cking2013
02/24 5042
2917   ¼ÒÁßÇÑ µ¥ÀÌÅ͸¦ ã¾Æµå¸³´Ï´Ù!!!!!     datablue
12/03 3925
2916   ¼ÐÄÚµå °øºÎÇÏ´Ù ±Ã±ÝÇÑ°ÍÀÌ ÀÖ½À´Ï´Ù.     kilo9
06/18 2461
2915   »¡¸®Á»...[7]     qudwns7933
02/06 2421
2914   »ý¼ºÀÚ ³»¿¡¼­ ´Ù¸¥ »ý¼ºÀÚ È£Ãâ[2]     gusiri
10/15 2438
2913   »ý°¢Çغ¸´Ï ¿Ö shellÄÚµå´Â ¸®ÅÏÀÚ¸®¿¡´Ù°¡ ¾µ¼ö Àִ°ÅÁÕ..??[4]     dmstjrgg
03/08 2403
2912   »ó´ë¹æÀÌ ½ÇÇàÇϸé Àú¿¡°Ô ÇÎÀ» º¸³»´Â ÇÁ·Î±×·¥À» ®½À´Ï´Ù.[4]     sjh2268
03/01 3334
2911   »ó´ë¹æ ip ÃßÀû¿¡ °üÇѰǵ¥¿ä.[1]     cph0607
05/17 4011
2910   »ðÀÔÁ¤·Ä ÇÁ·Î±×·¥À» ­´Âµ¥¿ä.[2]     rimeorange
11/03 3053
2909   »çÄ¢¿¬»ê °è»ê ÇÁ·Î±×·¡¹Ö §°Çµ¥¿ä[4]     dokito
03/22 2828
2908   »çÀüÆÄÀÏ°ú ÇÔ²² ¿µ¾î´Ü¾îÇÁ·Î±×·¥À» ¸¸µé·Á°í Çϴµ¥¿ä[1]     JJang777
05/24 2891
2907   º¼·£µåC´Â ºñÁÖ¾óC++ó·³ ÀÚµ¿À¸·Î ÁÙ °£°Ý(?)¼³Á¤ÀÌ ¾ÈµÇ³ª¿ä?[1]     valkiley
12/03 3097
2906   º¼·£µåc ÄÄÆÄÀÏ·¯ ¸»Àä[1]     gkswls123
10/24 4099
2905   º¼·£µåC     kalying
03/03 3956
[1]..[11][12][13][14] 15 [16][17][18][19][20]..[161]

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