프로그래밍

 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 : 4435     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