홈으로 | 로그인 | 무료회원가입 | 포인트적립방법 및 계급정책 
자동
회원가입 | 아이디 · 비밀번호 찾기

질문과답변 월간 최다답변채택 회원

  • 인의예지신 채택답변수 (38)
  • qlqlaa 채택답변수 (30)
  • 나도익명 채택답변수 (24)
  • 최대8자 채택답변수 (24)
  • 뉴발란스 채택답변수 (22)
  • 첨단조 채택답변수 (18)
  • 옹느랑 채택답변수 (14)
  • 원자력 채택답변수 (14)
  • 주백통통 채택답변수 (12)
       
    [컴퓨터/인터넷]

    C언어 소켓프로그래밍 질문입니다.(소스첨부)

    글쓴이 : SOAD 날짜 : 2013-10-08 (화) 01:48 조회 : 282
    nono.zip (4.8K), 2013-10-08 01:48:42
    컴파일은 
    서버 : gcc -o server server_2.c HandleClient_2.c DieWithError.c
    클라 : gcc -o client client_2.c DieWithError.c


    소스파일 묶어서 첨부했습니다.

    파일 업로드 하는것과 디렉토리 바꾸는 것을 구현중인데
    클라가 한번 돌면 죽어버리는건 양해해주시구요..;
    파일업로드 하는데 왜그런지 모르겠는데 자꾸 세그폴트가 나네요.... 이걸 getchar로 받지 않고 아예 메뉴번호를 줘버리면
    세그폴트는 안나는데 파일이 주고받아지질 않고...
    디렉토리 바꾸는건 디렉토리 이름 받기 전에 그냥 넘어가버리고....

    뭔가 버퍼 문제인것 같은데 짐작이 안되네요. fflush(stdin)도 해보고 scanf getchar fgets 별걸 다 써봤는데 안됩니다 ㅠㅠㅠ
    귀찮으시겠지만 제발 도와주세요 ㅠㅠㅠ

    시그윈 사용중입니다.
    요청자가 자신의 600포인트를 걸었습니다. 답변이 채택되면 300포인트를 드립니다.

    SOAD 2013-10-08 (화) 02:17
    void changeDir(DIR *dp, int clntSocket)
    {
    char echoBuffer[RCVBUFSIZE];
    Message message;
    memset(&echoBuffer, 0, sizeof(echoBuffer));
    memset(&message, 0, sizeof(Message));

    if ((recv(clntSocket, echoBuffer, RCVBUFSIZE, 0)) <0)
    DieWithError("Msg recv() failed");

    memcpy((char *)&message, echoBuffer, sizeof(message));

    message.MsgType=CDA;
    printf("%s\n", message.contents);
    dp=opendir(message.contents);

    memcpy(echoBuffer, &message, sizeof(message));

    if (send(clntSocket, echoBuffer, RCVBUFSIZE, 0) <0)
    DieWithError("Msg Send Error");
    else
    {
    printf("%s\n", message.contents);
    getcwd(message.contents, 64);
    printf("%s\n", message.contents);
    }
    }


    changeDir에서 메시지 받는걸 깜빡했습니다... 이건 추가했는데도 여전히 안되는건 마찬가지네요
    C:\\를 입력하면 멎어버리네요ㅠㅠ
    너닉넴 2013-10-08 (화) 03:09
    void HandleClient(int clntSocket)
    {
    char echoBuffer[RCVBUFSIZE];
    Message message;
    DIR *dp=NULL;

    memset(&echoBuffer, 0, sizeof(echoBuffer));

    프로그램 안한지 오래되서 좀 그런데 memset(&echoBuffer, 0, sizeof(echoBuffer)); => memset(echoBuffer, 0, sizeof(char) * RCVBUFSIZE);

    이렇게 해야하지 않나요?

    memset(&echoBuffer, 0, sizeof(echoBuffer)); 이렇게 하면 echoBuffer의 주소값이 0이 될걸요?
         
         
    SOAD 2013-10-08 (화) 07:54
    감사합니다. 근데 그것말고도 문제가 있는것 같아요....
    recv 받는 곳에서 죄다 블럭이 걸려버리네요 ㅠㅠ
              
              
    너닉넴 2013-10-08 (화) 11:10
    블럭이 recv부분에서 걸려서 대기하는 것이라면 정상적인 동작입니다. recv 함수 자체는 비동기 함수가 아니기 때문에 데이터를 받을 때 까지 해당 함수에서 대기합니다.
    송송송님 2013-10-08 (화) 04:00
    &echoBuffer 라고 쓰게되면 포인터의 주소 자체를 뜻하고 포인터가 가르키는 주소와는 다릅니다.
    너닉넴님이 써 주신것처럼
    echoBuffer 라고 적어주시는게 맞습니다.
       

    질문과답변 질문상태  | 
     
    번호 제목 글쓴이 상태 포인트 날짜 조회
    [공지]  ※ 토렌트사이트질문,자료요청 금지 (질문자,답변자 같이 제재합니다) 이토렌트
    0 08-25
    [공지]  ※ 카톡유령방 및 초대장관련 게시물 등록금지 (자료요청 게시판이용) 이토렌트
    0 11-11
    [공지]  ※ 질문과답변 게시판 이용안내 이토렌트
    0 03-28
    57415 [취미/생활]  일본 인테리어 (2) 먹고죽자
    500 09-21 144
    57414 [컴퓨터/인터넷]  Window8.1 잠금해제 방법 (2) 이프아이월유
    200 09-21 78
    57413 [컴퓨터/인터넷]  http://farm4.staticflickr.com/ 이거 무슨 사이트죠? 와이파리
    200 09-21 57
    57412 [컴퓨터/인터넷]  USB로 윈도우 설치할려고 하는데요.. (11) 미밍즈쿠
    500 09-21 114
    57411 [교육/학문]  포토샵 잘하시는 분 ㅠㅠ (4) 스샷첨부 오모선생님
    200 09-21 132
    57410 [TV/영상]  차량 블랙박스 사려고 합니다. アイリン
    200 09-21 92
    57409 [게임]  페이퍼스 플리즈? qjwjs787
    200 09-21 47
    57408 [게임]  라스트익스프레스라는게임을 설치하고싶어요 (3) 쑥쑥꾹꾹
    200 09-21 47
    57407 [취미/생활]  이 영화 제목좀 알려주세요. (1) WhatAreU
    200 09-21 137
    57406 [컴퓨터/인터넷]  hp 놋북 as받아보신 계신가요? (3) IAMHDK
    200 09-21 87
    57405  피파15 얼티메이트 종료는 어떻게 하나요? 마리오스
    200 09-21 73
    57404 [경제/재테크]  보험 관련 (1) 0457m
    200 09-21 57
    57403 [기타]  냄새 제거업체 잘 아시는분? (3) 쿨앤게이
    200 09-21 127
    57402 [컴퓨터/인터넷]  매틀랩 질문이요!!! 냐르a
    500 09-21 47
    57401 [게임]  윈도우8 PC에서 사용할 수 없는 앱 (5) qidmnm
    500 09-21 135
    57400 [쇼핑]  남성 와이셔츠 카라 크기가 작은것은 이름이 무엇인가요?? (4) 깨랑깨랑한데
    200 09-21 149
    57399 [기타]  촌수와 호칭... (3) 대구날라리
    200 09-21 149
    57398 [교육/학문]  저항 판독법 알려주실 고수님모셔요~ (1) 스샷첨부 qorzjq
    200 09-21 111
    57397 [건강/의학]  라식수술 후 사후관리 질문드려요 많은답변좀 ^^ (4) 스샷첨부 광폭
    1000 09-21 86
    57396 [TV/영상]  SNL에 소유가 신고나온 신발 문의드려요 (__) (2) 스샷첨부 은비
    500 09-21 292
    57395 [컴퓨터/인터넷]  노후된 노트북 성능향상 관련 질문 (7) 코토네
    486 09-21 168
    57394 [컴퓨터/인터넷]  문자와 도형 합성 질문합니다. (4) 스샷첨부 기승전결혼
    3000 09-21 138
    57393 [컴퓨터/인터넷]  용량 변경없이 움짤 크게 나오는 방법 (3) 한지민♡
    200 09-21 157
    57392 [교육/학문]  일본어 번역부탁드립니다. (2) mussa
    600 09-21 211
    57391 [기타]  이 사진의 여자가 누군지 알고 싶습니다. (4) 스샷첨부 초코아이스
    300 09-21 919
    57390 [컴퓨터/인터넷]  익스플로러 다운로드가 안됩니다 (6) elwlse
    500 09-21 83
    57389 [기타]  영구임대아파트 들어 가는데요.서류 궁금 해서요~ (2) 이웃짐또터러
    300 09-21 207
    57388 [토렌트]  토랜트 이런 증상 겪어 보신분 계신가요? (1) ebfhs
    300 09-21 147
    57387 [컴퓨터/인터넷]  맥>>커맨드+R키를 누르면 부팅도중 꺼져버립니다. 스샷첨부 적당히해라
    300 09-21 48
    57386 [게임]  친구랑 둘이서만 할건데 마인크래프트 어떻게 하면 되나요? (1) 자조적행복
    200 09-21 87
     1  2  3  4  5  6  7  8  9  10  다음