2011-11-10 2 views

답변

0

mode_t을 안전하게 전송하려면 대체 형식으로 변환해야합니다. 통신하는 두 호스트가 mode_t에 대해 동일한 플래그 정의를 사용할 것으로 생각할 이유가 없으므로이를 정수로 인쇄하는 것조차 충분하지 않습니다. 모든 모드 플래그를 반복하고 각각을 검사해야합니다.

1

mode_t는 정수입니다.

실제로 소켓에 텍스트 프로토콜을 사용하는 것이 실제로 (디버그하고 진화하는 것이 더 쉽습니다.) 유용합니다.

1

물론 문자열을 사용하는 것이 좋습니다. 그러나 정수로 보내려면 <endian.h> 헤더에서 htobe32be32toh과 같은 기능을 확인할 수 있습니다.

+0

이들은'htonl'과'ntohl' 함수의 비표준 이름입니다 ... 또한'mode_t'는 32 비트에 적합해야하며, 소켓의 양쪽 끝에 같은 비트 패턴을 가지고 있다고합니다 ? –

+0

@R .. 네,하지만이 경우에는 필요하지 않더라도 64 비트 변형이 있습니다. –

관련 문제