accept 함수를 사용하는데요, 인자에서 에러가 나네요.

0
points

TCP 소켓통신 중에 accept 함수를 사용했습니다. 근데 의외의 부분에 에러가 나네요

clnt_addr_size = sizeof(clnt_addr);
clnt_sock = accept(serv_sock, (struct sockaddr*)&clnt_addr, &clnt_addr_size);

근데 3번째 인자에서 에러가 납니다.
invalid conversion from 'int *' to 'socklen_t*'
initializing argument 3 of 'int accept(int, sockaddr*, socklen_t*)

3번째 인자를 어떻게 바꾸면 되나요?

int

0
points

int clnt_addr_size;
clnt_addr_size = (int)sizeof(clnt_addr);
clnt_sock = accept(serv_sock, (struct sockaddr*)&clnt_addr,(socklen_t *) &clnt_addr_size);

int와 socklen_t의

0
points

int와 socklen_t의 사이즈가 다르면 문제가 될수 있으니까 clnt_addr_size를 선언할때 socklen_t형으로 하는게 더 좋지 않을까 하는 개인적인 생각입니다.

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.