inet_addr()로 주소 표시할때 127이상의 주소가 음수로 표시됨.

익명 사용자의 이미지

좀 도와 주십시요.

처음 소켙 플밍을 하는데...

struct sockaddr_in의 ip 부분에

inet_addr()로 스트링을 ip로 변환해 넣을 때

127.127.127.127 과 같이 127이하는 되는데,

어는 한개라도 127이 넘으면...

invalid하다고 나옴니다.

왜 그런가요? 그리고 해결책은?

익명 사용자의 이미지


제가 알기로는 inet_addr()함수는 0.0.0.0 이라든가 255.255.255.255같은

주소는 바이너리로 못 바꾸어주는 걸로 알고 있는데

127 이상의 숫자를 쓰면 그런일이 일어난다니 좀 이해가 안가는데요.

정 안되시면 inet_aton() 함수를 사용해보시기 바랍니다.

스티븐슨이 오늘날에는 inet_addr 대신에 inet_aton 를 쓰는

추세라고 하네요.