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

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

  • 도조 채택답변수 (52)
  • 최대8자 채택답변수 (37)
  • 포르토스 채택답변수 (35)
  • belcowin 채택답변수 (28)
  • 아치미슬 채택답변수 (25)
  • 나도익명 채택답변수 (19)
  • 감자와토마토 채택답변수 (19)
  • 첨단조 채택답변수 (16)
  • Kuno™ 채택답변수 (13)
       
    [컴퓨터/인터넷]

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

    글쓴이 : SOAD 날짜 : 2013-10-08 (화) 01:48 조회 : 294
    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포인트를 드립니다.

    글쓴이 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이 될걸요?
         
         
    글쓴이 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
    61391 [취미/생활]  통장의 계좌입출기록이요 몇년전꺼도 알수있나요? (3) 긍정과웃음
    200 02:45 45
    61390 [기타]  모닝 바이퓨얼 또는 쉐보레 LPG 스파크.. (1) 대검호조로
    2500 02:41 37
    61389 [컴퓨터/인터넷]  마우스로 엔터 입력 가능한가요 ? (4) 섶다리
    200 02:06 61
    61388 [컴퓨터/인터넷]  매틀랩 푸리에변환 질문 메카낚시
    500 01:46 27
    61387 [컴퓨터/인터넷]  중국 QQ 메신져 사이트 가입 좀 도와주세요. (6) 스샷첨부 카이저네
    600 00:10 77
    61386 [교육/학문]  제 이름 한자 뜻풀이 좀 해주세요 뭔 뜻인지 모르겠어요.. ㅋㅋ (8) 자조적행복
    200 12-21 119
    61385 [TV/영상]  노래 제목 찾기 (1) 고나n
    500 12-21 51
    61384 [TV/영상]  이 짤 영상제목이 뭔가요 (1) 스샷첨부 몽땅내사랑
    200 12-21 99
    61383 [기타]  독일 이민에 대하여 .. (3) 대검호조로
    2000 12-21 177
    61382 [기타]  명량 중국어 자막 있으신분. 좀 급하고 간절합니다 ㅠㅠ (2) 토익만점
    200 12-21 103
    61381 [기타]  아이폰 유심기변? (1) 머하니
    200 12-21 67
    61380 [TV/영상]  [사진있음]이 만화에 대한 정보좀 알려주세요. (2) 스샷첨부 깨랑깨랑한데
    200 12-21 88
    61379 [게임]  프리징 문제인데요.. 도와주세요 ㅜ (2) zzazan
    300 12-21 104
    61378 [TV/영상]  분할된 동영상 어떻게 재생하나요..? (4) 홍이요
    200 12-21 47
    61377 [게임]  이거 사쿠야유아 맞나요??? (1) 스샷첨부 토시시
    200 12-21 281
    61376 [경제/재테크]  부동산 잘 아시는분 재개발 관련 질문합니다. (2) Ehsty
    500 12-21 61
    61375 [쇼핑]  비정제설탕10kg 살려고 하는데 어디 에서 구입하는게 싸나요? (4) 영천사
    1000 12-21 98
    61374 [쇼핑]  유재석이 입은 패딩 어딘껀지 알 수 있을까요? (3) 스샷첨부 노트북사용자
    200 12-21 407
    61373 [컴퓨터/인터넷]  온라인으로 시스템 다이어리 여러사람이 적고 쓸수 있는 프로그램이나 싸이트 알려주세요~ (2) 마루소리
    2000 12-21 73
    61372 [컴퓨터/인터넷]  포털사이트 - 금융감독원 바이러스? Darism
    200 12-21 59
    61371 [컴퓨터/인터넷]  중국 공유사이트에서 자료 다운 문제 (4) 카이저네
    300 12-21 159
    61370 [컴퓨터/인터넷]  iptime 공유기 (1) 공백없는꿈
    200 12-21 140
    61369 [TV/영상]  블로그 검색.... (1) 시나브로1013
    2000 12-21 129
    61368 [기타]  배우 김아중씨 실제로보려면어떻게? (2) 연예인좋아
    300 12-21 341
    61367 [컴퓨터/인터넷]  무한도전 유튭 다시보기가 막혔는데 대체 사이트 없나요? (3) triangl2
    200 12-21 226
    61366 [컴퓨터/인터넷]  컴퓨터 자체의 볼륨을 낮추고 싶습니다. (3) ag57
    500 12-21 195
    61365 [컴퓨터/인터넷]  어떤 프로그램 찾는 중 입니다. (2) 우리라로
    300 12-21 89
    61364 [기타]  인사고과 점수 배정 문의 (4) 봇대2
    3000 12-21 89
    61363 [기타]  이 가수?가 누구인지요???? (1) 해and달
    200 12-21 199
    61362 [컴퓨터/인터넷]  SSD와 고스트 질문 드립니다 (1) 슈냉블랑
    1000 12-21 117
     1  2  3  4  5  6  7  8  9  10  다음