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

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

  • 궁극의。변태 채택답변수 (25)
  • 이토님 채택답변수 (20)
  • 이화에월담하고 채택답변수 (15)
  • 유랑천하 채택답변수 (13)
  • donn 채택답변수 (13)
  • 나도익명 채택답변수 (12)
  • 스피두웨건 채택답변수 (11)
  • 오타장군111 채택답변수 (11)
  • 짐군 채택답변수 (11)
       
    [컴퓨터/인터넷]

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

    글쓴이 : SOAD 날짜 : 2013-10-08 (화) 01:48 조회 : 408
    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
    92425 [기타]  바이두에서 다운 받고 싶은게 있는데.. (1) 하이디테니스
    3000 19:20 60
    92424 [쇼핑]  축구복인데요, 똑같은 축구복 찾을 수 없을까요? (2) 스샷첨부 허니문메론
    1000 18:55 72
    92423 [컴퓨터/인터넷]  7700k 오버용 견적 추천부탁드려요 스샷첨부 nsyls
    1000 18:19 64
    92422 [건강/의학]  이를 악물고 자는 습관 어느 병원으로 가야되나요? (3) 마느라
    200 17:47 82
    92421 [컴퓨터/인터넷]  윈도우10 사용가능 네트워크 자동 탐색/갱신 끄기 (2) 백오십억
    300 17:23 70
    92420 [쇼핑]  빅사이즈 남성복 사이트 추천 좀 부탁드려요. 『카프카』
    200 17:20 49
    92419 [기타]  안녕하세요.,,,, 티미아리12
    600 16:11 62
    92418 [기타]  월세 자동연장 시 퇴실 관련 질문 (4) 더부사리
    2000 15:51 172
    92417 [컴퓨터/인터넷]  인터넷, cpu (3) 스샷첨부 태연짜앙
    200 13:37 225
    92416 [컴퓨터/인터넷]  이토렌트 글쓰기 질문입니다.. (1) 양치기총각
    200 13:08 63
    92415 [기타]  구글 플레이 게임에서.... 나루터지기
    300 12:57 73
    92414 [게임]  신장의 야망 14pk 전국입지전 실행법 문의 드립니다 ㅠㅠ 도와주세요 (7) wkjd1
    1500 12:52 110
    92413 [컴퓨터/인터넷]  크롬 글쓰기 문의 (1) 스샷첨부 소박한미소
    200 12:06 70
    92412 [기타]  실수로 반대 누른것에 사과글에 반대가 올라가는 이유가 궁금합니다. (5) 스샷첨부 moonk81
    200 10:19 195
    92411 [교육/학문]  퍼센테이지 계산법좀요 ㅠ (3) 凸엿
    4000 10:14 123
    92410 [컴퓨터/인터넷]  DB 파일을 엑셀로 변환하는 법... (10) 아듸위뮈
    1000 08:01 140
    92409 [교육/학문]  물리학 양자중력에서 node와 graph가 한국말로 무엇인가요? (3) 공공칠빵빵빵
    1000 03:49 179
    92408 [기타]  제가 쓸수 있는 연차는 며칠일까요? (8) 에이샹
    200 00:46 233
    92407 [쇼핑]  얼마전에 두리형이 신고 사진으로 나왔던 나이키 신발인데 모델명좀 알수있을까요 스샷첨부 로봇왕잉칙킹
    200 00:26 201
    92406 [기타]  중고폰 거래 중 확정기변에 대해(KT) (4) 오목눈이d
    400 03-25 135
    92405 [건강/의학]  제가 만성위염인데요 빨간브로콜리양배추 살려고 하는데 추천좀요 (5) 영천사
    300 03-25 127
    92404 [취미/생활]  실내 벽 실금 균열 수성코킹? 수성우레탄퍼티? (1) 마이크을
    500 03-25 107
    92403 [컴퓨터/인터넷]  절전모드에서 해제시 네트워크 연결이 끊어집니다.. (3) iodi
    200 03-25 79
    92402 [기타]  이 시계 위젯 이름 좀 가르쳐주세요 (3) 스샷첨부 메카팬더
    500 03-25 281
    92401 [음악]  혹시 이 브금 제목 아시는분 계신가요 (1) 프리도트
    300 03-25 71
    92400 [취미/생활]  성형수술 견적얼마정도 들까요? (1) 심심하다1
    1000 03-25 237
    92399 [취미/생활]  스쿠터세차할려는데요 이쪽부분은 뭔가요? (3) 스샷첨부 심심하다1
    1000 03-25 123
    92398 [컴퓨터/인터넷]  핸드폰 위약금 물고 통신사 바꾸려고하는데 (8) 유령이당
    400 03-25 111
    92397 [게임]  전쟁슈팅 게임 추천 부탁드려요. (3) HanSolo
    400 03-25 137
    92396 [경제/재테크]  단통법 폐지 될까요? (4) 마로비
    200 03-25 359
     1  2  3  4  5  6  7  8  9  10  다음