bind error관련 질문입니다.
글쓴이: navychurkey / 작성시간: 화, 2013/07/16 - 8:27오후
bind error라 하면 소켓에 지정된 시간이 있어서 연결되지 못하고 있는 것을 의미하는 것으로 아는데
저같은경우에는 시간이 지나도 error가 풀리지 않았습니다. 그래서 socket옵션인 reuseaddr함수를 사용했는데도 되지 않아
헤매던중 혹시 몰라서 재부팅을 시켜봤더니 바로 해결되었습니다.
어떻게 된 것인지 궁금해서 올리게 되었습니다.
Forums:
코드를 올려 주시는게 좋지 않을까요?
코드를 올려 주시는게 좋지 않을까요?
========================
조직 : E.L.D(Embedded Linux Developer/Designer)
블로그 : poplinux@tistory.com
카페 : cafe.naver.com/poplinux
임베디드 리눅스 관련 프리렌서 지향
관련부분 올려드릴게요!!
66 int main()
67 {
68 receive_thread_sock = socket(PF_INET, SOCK_DGRAM, 0);
69 if(receive_thread_sock == -1)
70 {
71 error_handling("UDP socket creation error");
72 }
73 optlen=sizeof(option);
74 option=TRUE;
75 setsockopt(receive_thread_sock, SOL_SOCKET, SO_REUSEADDR, (void *)&option, o ptlen);
76 memset(&rcv_adr, 0, sizeof(rcv_adr));
77 rcv_adr.sin_family=AF_INET;
78 rcv_adr.sin_addr.s_addr=htonl(INADDR_ANY);
79 rcv_adr.sin_port=htons(1800);
80 attr.mq_maxmsg = 10;
81 attr.mq_msgsize = sizeof(struct load_info);
82 mfd = mq_open("/mymq", O_RDWR | O_CREAT | O_TRUNC, 666, &attr);
83 exception();
84 close(receive_thread_sock);
85 return 0;
86 }
여기까지가 메인이고요
exception에 bind부분을 넣어주었습니다.
162 void exception()
163 {
164 if(bind(receive_thread_sock, (struct sockaddr*)&rcv_adr, sizeof(rcv_adr))==- 1)
165 {
166 error_handling("bind socket creation error");
167 }
168}
댓글 달기