디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

소켓통신 처음 해보려고 따라하는데.. 뭐가 문제인지 모르겟음 ㅠ_ㅠ;

소켓초보..(175.211) 2011.09.27 10:23:53
조회 81 추천 0 댓글 2

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

void error_handling(char *message);

int main()
{
    int serv_sock;
    int clnt_sock;
    struct sockaddr_in serv_addr;
    struct sockaddr_in clnt_addr;
    unsigned long clnt_addr_size;
    char message[]="hello world!\\n";

    /* 서버 소켓 생성 */
    serv_sock = socket(PF_INET, SOCK_STREAM, 0);
    if(serv_sock == -1)
        error_handling("socket() error");

    memset(&serv_addr, 0, sizeof(serv_addr));
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    serv_addr.sin_port = htons(9190);

    /* 소켓에 주소 할당 */
    if(bind(serv_sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) == -1)
        error_handling("bind() error");

    /* 연결 요청 대기상태로 진입 */
    if(listen(serv_sock,5) == -1)
        error_handling("listen() error");

    /* 연결 요청 수락 */
    clnt_addr_size = sizeof(clnt_addr);
    clnt_sock = accept(serv_sock, (struct sockaddr*)&clnt_addr, &clnt_addr_size);
    if(clnt_sock == -1)
        error_handling("accept() error");

    /* 데이터 전송 */
    write(clnt_sock, message, sizeof(message));

    /* 연결 종료 */
    close(clnt_sock);

    return 0;
}
void error_handling(char *message)
{
    fputs(message, stderr);
    fputc(\'\\n\', stderr);
    exit(1);
}
서버 소스

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

void error_handling(char *message);

int main(void)
{
    int sock;
    struct sockaddr_in serv_addr;
    char message[30];
    int str_len;

    /* 서버 접속을 위한 소켓 생성 */
    sock = socket(PF_INET, SOCK_STREAM, 0);
    if(sock == -1)
        error_handling("socket() error");

    memset(&serv_addr, 0, sizeof(serv_addr));
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_addr.s_addr = inet_addr("127.0.0.0");
    serv_addr.sin_port = htons(9190);

    /* 서버로 부터 연결 요청 */
    if( connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) == -1)
        error_handling("connect() error");

    /* 데이터 수신 */
    str_len = read(sock,message,sizeof(message)-1);
    if(str_len == -1)
        error_handling("accept() error");

    message[str_len] = 0;
    printf("message from server : %s \\n", message);

    /* 연결 종료 */
    close(sock);

    return 0;
}
void error_handling(char *message)
{
    fputs(message, stderr);
    fputc(\'\\n\', stderr);
    exit(1);
}

클라이언트 소스

디버깅을 해보면.. 서버에서 serv_addr.sin_family 에는 \'^B\'가 들어가고 serv_addr.sin_addr.s_addr 에 0이 들어갑니다.

클라이언트 소스에서는 serv_addr.sin_family 에는 \'^B\'가 들어가고 
serv_addr.sin_addr.s_addr 에 2130706432이 들어갑니다.
뭔가 주소값이 잘못 할당되서;; 서버로부터 메시지 못받는거?



추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
276700 10시 출근 6시 퇴근! [2] Deanex갤로그로 이동합니다. 11.09.29 55 0
276699 부산 지하철 ㅡㅡ [8] 로하로하알로하갤로그로 이동합니다. 11.09.29 103 0
276698 출근 ㅋㅋ [10] 좋은아버지갤로그로 이동합니다. 11.09.29 69 0
276697 그러고 보니 오늘이 기춘씨 마지막 회 구나 Kanon갤로그로 이동합니다. 11.09.29 44 0
276696 소켓으로 메신저를 만듬 [6] ㅂㅈㄷ(210.178) 11.09.29 123 0
276694 아스는 진짜답이없다 [2] 三didas갤로그로 이동합니다. 11.09.29 64 0
276693 아스의 생일을 축하합니다. SODMaster갤로그로 이동합니다. 11.09.29 32 0
276691 게이들아 좋은아침 Adelposs갤로그로 이동합니다. 11.09.29 29 0
276690 으아니.. 비가 온다 [1] 로하로하알로하갤로그로 이동합니다. 11.09.29 37 0
276689 오늘도 굿모닝~ [9] Kanon갤로그로 이동합니다. 11.09.29 62 0
276687 아 상쾌한 아침 공부하고싶다 [2] 차도컴공남갤로그로 이동합니다. 11.09.29 55 0
276685 횽들 for문 말이야 -_- [4] 프갤(210.121) 11.09.29 64 0
276684 좆됫다 ㄱㅊ가 아퍼 [5] Adelposs갤로그로 이동합니다. 11.09.29 78 0
276683 아 진짜 미칠것같고 죄송한데 다시좀 봐주세요.... [9] 123132(221.141) 11.09.29 92 0
276682 프로그래머나프로그래밍관련 다큐추천좀 [1] 박구갤로그로 이동합니다. 11.09.29 92 0
276681 이문동님 보세요 [18] 123132(221.141) 11.09.29 128 0
276680 헐 벌써 4시네... 프랙탈 분담작업 성공 [6] [성대아싸]갤로그로 이동합니다. 11.09.29 105 0
276679 좀전에 질문한 사람인데요 이해가 잘 안되서 그러는데 [5] 123132(221.141) 11.09.29 53 0
276678 질문 하나만 할께요... [6] 123132(221.141) 11.09.29 55 0
276677 내가 객체지향을 잘못이해하고 있는건지 [7] elwlwlwk갤로그로 이동합니다. 11.09.29 100 0
276676 회사 퇴근을 기다리는 기분이 이런걸까? [1] Adelposs갤로그로 이동합니다. 11.09.29 45 0
276675 프갤러들아 난 이걸 뭐로 받아들여야함? [3] Adelposs갤로그로 이동합니다. 11.09.29 56 0
276674 오예오예 됬어요ㅋㅋㅋㅋ 123132(221.141) 11.09.29 41 0
276673 선형대수과목인데 코딩해오라는데 뭘하라는건지모르겠네.. [4] ㅁㄴㅇㄹ(120.50) 11.09.29 91 0
276672 이거 코드랑 오류내용이요 [6] 123132(221.141) 11.09.29 66 0
276671 스위치문 중첩 물어봤던 사람인데요 답변좀 해주세요 [1] 123132(221.141) 11.09.29 56 0
276670 발톱이 잘못 났는지 존나 아프네 [3] 로하로하알로하갤로그로 이동합니다. 11.09.29 46 0
276669 스위치문 중첩좀 알려주세요 [2] 123132(221.141) 11.09.29 79 0
276668 oracle database 해결 좀..........ㅠㅠ(아시는 분만) 마르세유턴ㅋ갤로그로 이동합니다. 11.09.29 36 0
276667 힙손상?? [2] Paradise갤로그로 이동합니다. 11.09.29 3771 0
276666 프갤 고딩 횽들 나 프갤할레갤로그로 이동합니다. 11.09.29 58 0
276665 자바형 나 질문이 있오 [4] 플래닛댄스갤로그로 이동합니다. 11.09.29 55 0
276664 뭐니뭐니해도 브라우져는 익플임 곰곰곰(121.188) 11.09.29 44 0
276663 형들 (121.172) 11.09.29 39 0
276662 형들 c언어잇자나염 글쓴이(58.127) 11.09.29 41 0
276661 자바 소스 좀 봐주실 분 ㅠㅠㅠㅠ [10] 자바허접(211.246) 11.09.29 158 0
276660 C#에서 윈도우프로그램 짤때 Dispose문제 [1] ㅇㅇ(119.71) 11.09.29 86 0
276659 창의력.. [1] asvattha갤로그로 이동합니다. 11.09.29 75 0
276658 앞날이캄캄한뎃 三didas갤로그로 이동합니다. 11.09.29 34 0
276657 김상병님, 나중에 동원 훈련 때 저 만나면 각오하십쇼. [10] ㅇㅇ(121.133) 11.09.28 134 0
276656 여긴 공모전 출품+출시해본 경험 있는 횽들 없음? [5] aaaaa(116.121) 11.09.28 96 0
276653 다른사이트에 올라온 코드같은거보고 [2] 킈킈(58.127) 11.09.28 55 0
276652 blackd 횽아 있음? [2] 분당살람갤로그로 이동합니다. 11.09.28 54 0
276650 centos 6 이모군(175.114) 11.09.28 48 0
276649 깨알 같은 지식.jpg ㅇㅇ(121.133) 11.09.28 124 0
276647 지금 창업할 페이지 디자인중인데 [3] 천재획가(219.251) 11.09.28 93 0
276646 선형대수학이 컴공쪽에서 어떻게 많이 쓰임? [5] SODMaster갤로그로 이동합니다. 11.09.28 171 0
276645 function, function pointor, functor 개념 좀 [3] ㅇㅇ(121.133) 11.09.28 85 0
276644 와 오늘 소름끼쳤다. 진짜 [3] 좋은아버지갤로그로 이동합니다. 11.09.28 118 0
276643 c언어 학원or독학하기 적절한 떄가 언제인가요? [5] 호빗토끼(211.209) 11.09.28 156 0
뉴스 TIOT(티아이오티), 신곡 ‘맨발의 청춘’ 음방 최초 공개! 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2