네트워크에 연결된 모터 세트에 위치 좌표를 전달하는 데 문제가 있습니다. 나는 문자열을 잘 보내고 모터에서 텍스트를 다시받을 수 있지만 int 값을 보낼 수 없습니다.NSOutputStream에 64 비트 int 값 쓰기
NSlog를 사용하여 출력하는 실제 값이 올바른지 확인했지만 출력 스트림을 통해 보내는 방법이 잘못되었다고 생각합니다. 어떤 아이디어?
64 비트 int 값을 보내는 내 코드 :
uint64_t rawInt = m1;
rawInt <<= 16;
rawInt |= m2;
NSData *buffer = [NSData dataWithBytes: &rawInt length:8];
[outputStream write: [buffer bytes] maxLength:[buffer length]];
위의 코드는 경고를 제공합니다 : "경고 :의 인수 1 통과 '쓰기 : 최대 길이를'호환되지 않는 포인터 유형에서". – isometrik
경고에도 불구하고 코드가 작동합니다. 나의 endianess는해야하는 것의 반대였습니다. 감사! – isometrik
캐스트 제거 경고가 추가되었습니다. –