ÇÁ·Î±×·¡¹Ö

 3198, 1/160 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   reality
   À©¼Ó Áú¹® ÀÖ½À´Ï´Ù, Á¦¹ß ´äº¯ ÇØÁÖ¼¼¿ä¤Ì¤Ð

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3152 [º¹»ç]


¾ð¾î´Â C ¾ð¾îÀ̰í, Visual Studio 6.0 À¸·Î Çß¾î¿ä.
ÄÚµå;;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winsock2.h>
#define BUFSIZE 256
#pragma comment(lib, "ws2_32.lib")

int main()
{
    WSADATA wsa;
    
    SOCKET SV_socket;
    SOCKET CL_socket;
    
    SOCKADDR_IN SV_addr;
    SOCKADDR_IN CL_addr;
    
    int sz_CLaddr;
    
    char buff_rcv[BUFSIZE];
    char buff_snd[BUFSIZE];
    
    WSAStartup(MAKEWORD(2,2), &wsa);
    
    SV_socket = socket(AF_INET, SOCK_STREAM, 0);
    
    if(SV_socket == -1)
    {
                 printf("¼ÒÄÏ »ý¼º Áß ¿À·ù ¹ß»ý!!\n");
                 system("PAUSE");
                 return 0;
    }
    
    memset(&SV_addr, 0, sizeof(SV_addr));
    SV_addr.sin_family = AF_INET;
    SV_addr.sin_port = htons(4000);
    SV_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    
    if(bind(SV_socket(SOCKADDR*), SV_addr, sizeof(SV_addr)) == -1);
        {
                 printf("¼ÒÄÏ »ý¼º Áß ¿À·ù ¹ß»ý!!\n");
                 system("PAUSE");
                 return 0;
    }  
    
    while(1)
    {
            if(-1 == listen(SV_socket, 5))
            {
                 printf("¼ÒÄÏ »ý¼º Áß ¿À·ù ¹ß»ý!!\n");
                 system("PAUSE");
                 return 0;
            }
            
            sz_CLaddr = sizeof(CL_addr);
            CL_socket = accept(SV_socket, (struct sockaddr*)&CL_addr, &sz_CLaddr);
            
            if(CL_socket == -1)
            {
                 printf("¼ÒÄÏ »ý¼º Áß ¿À·ù ¹ß»ý!!\n");
                 system("PAUSE");
                 return 0;
            }
            
            recv(CL_socket, buff_rcv, BUFSIZE, 0);
            printf("receive : %s\n", buff_rcv);
            sprintf(buff_snd, "%d : %s", strlen(buff_rcv), buff_rcv);
            send(CL_socket, buff_snd, strlen(buff_snd)+1, 0);
            
            closesocket(CL_socket);
            }
            WSACleanup();
            return 0;
            }        

¿À·ù ³»¿ë;;
c:\documents and settings\fire\¹ÙÅÁ È­¸é\visual studio 6.0\myprojects\test0\test0.h(39) : error C2059: syntax error : ')'
c:\documents and settings\fire\¹ÙÅÁ È­¸é\visual studio 6.0\myprojects\test0\test0.cpp(11) : error C2653: 'test0' : is not a class or namespace name
c:\documents and settings\fire\¹ÙÅÁ È­¸é\visual studio 6.0\myprojects\test0\test0.cpp(14) : warning C4508: 'test0' : function should return a value; 'void' return type assumed
c:\documents and settings\fire\¹ÙÅÁ È­¸é\visual studio 6.0\myprojects\test0\test0.cpp(16) : error C2653: 'test0' : is not a class or namespace name
c:\documents and settings\fire\¹ÙÅÁ È­¸é\visual studio 6.0\myprojects\test0\test0.cpp(17) : error C2084: function 'int __cdecl test0(void)' already has a body
Error executing cl.exe.

test0.exe - 4 error(s), 1 warning(s)

ÀÔ´Ï´Ù. ¾Æ¹«¸® ÇØµµ ¾ÈµÇ³×¿ä, HP°¡ ¾ø¾î¼­ ´õÀÌ»ó ¸øÇϰھî¿ä, Á¦¹ß µµ¿Í ÁÖ¼¼¿ä~

  Hit : 4160     Date : 2011/08/29 08:29



    
rainroad87 if(bind(SV_socket(SOCKADDR*), SV_addr, sizeof(SV_addr)) == -1); 2011/08/31  
rainroad87 À̰É
if(SOCKET_ERROR == bind(SV_socket,(SOCKADDR*)&SV_addr,sizeof(SV_addr)))

ÀÌ·¸°Ô ¼öÁ¤ÇÏ½Ã¸é ¹®¹ý¿À·ù´Â »ç¶óÁ®¿ä~
2011/08/31  
¸±¶ó°í bind(SV_socket(SOCKADDR*), SV_addr, sizeof(SV_addr))
À̺κÐ
bind(SV_socket,(SOCKADDR*)SV_addr, sizeof(SV_addr))
À̰Š¾Æ´Ñ°¡¿ä? °íÄ¡±â°¡ ±ÍÂú¾Æ¼­ ±×³É ´ëÃæºÃ´Âµ¥..
2011/09/13  
¸±¶ó°í ¾Æ À§¿§ºÐÀÌ ÁöÀûÇØÁּ̳׿䤻¤» 2011/09/13