PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2012/02/16 12:31:14
Name 스타나라
Subject 프로그래밍 질문입니다.
전지전능하신 피지알러 여러분께 지혜를 구합니다s(__)z
제가 요즘 하는일은 아이폰 기반 소켓 프로그래밍 입니다. PC서버와 아이폰 클라이언트가 소캣통신을 하며 데이터를 주고 받는 것을 제작하고 있는거죠. 그중 클라이언트 프로그램을 구현하고 있는데요, 서버단에서 전송된 패킷을 저장하는 방법을 잘 모르겠습니다.

정확히 뭘 말하는거냐면...

서버에서는 double타입의 데이터를 byte단위로 나눠서 클라이언트측에 전송해줍니다. 즉, 클라이언트에서 수신하는 값은 원래 double형이었으나, byte타입으로 데이터를 수신하게 되는거죠. 이를테면 8바이트 데이터로 00 00 1f 2a 37 09 D1 FF 뭐 이런식으로요.
여기에서, 제가 원하는건 클라이언트가 입력받은 8바이트 데이터를 어떻게 double형으로 바꾸느냐...입니다.

상세한 코드를 알려주셔도 좋고 어떻게하면 되는지 알려주셔도 좋습니다.(언어는 objective-C입니다.)
자바에서는 getdouble() 하면 되는것 같았는데, 아이폰 프로그래밍에서는 도통 방법을 모르겠네요^^;

답변 기다리겠습니다. 답변해주시는분들 미리 감사드려요.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
김연우
12/02/16 12:55
수정 아이콘
바꿀 필요 자체가 없습니다. 바뀐 적이 없으니까요.

가령 원래부터 00 11 22 33 44 55 66 77 이었으면, 그냥 그것일 뿐이에요. 이를 Double이라고 생각하면 0.423424가 되는거고 Byte라고 생각하면 0011223344556677이 될 뿐이죠.
뭐랄가, EI 를 두고 미국사람이 보면 영어 EI가 한국사람이 티가 되는 것과 같은 이치에요.

그냥 타입캐스팅만 해주면 됩니다.
12/02/16 14:26
수정 아이콘
게임쪽에서는 여전히 바이너리 씁니다... 특히나 모바일 환경으로 오면서 packing 개념이 더 중요해져 버렸어요... 젠장... ㅠㅠ

이 경우에는, 서버쪽이 어떤 OS를 쓰느냐에 따라서 달라질텐데... 리틀 엔디언/빅 엔디언쪽은 조금은 신경쓰시는게 좋을거에요.
배열을 모아서 memcpy 하는게 objective-C 에서도 쉽게 되는지는, 제가 obj-C를 안 써봐서 잘 모르겠네요.
뭐, 데이터가 바뀌어 버리는게 눈에 띄면, ntoh / hton 계열 함수들을 뒤져보셔야 할겁니다.
스타나라
12/02/16 15:10
수정 아이콘
세분 답변 감사합니다. byteorder는 이미 고려 했고, 버퍼[0]~버퍼[7] 까지의 hex 데이터를 가지고 처리해야하는 상황이었습니다.

결국에는 NSDATA와 NSSTRING을 이용해서 double형으로 바꾸는 방법을 찾았는데 잘 될것도 같구요. 그런데 시뮬레이션 해보니 변형중에 문제가 생기더군요. 일단 PGR에 질문해서 답변받은 사항까지는 어느정도 해결된 느낌입니다. 감사드려요^^/
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
127165 [lol]소라카 [8] 바람은미래로2143 12/02/16 2143
127164 mysql while문 다시 질문좀.. 율이4155 12/02/16 4155
127163 방금sk텔레콤 전화왔는데 3회선 인터넷무료괜찬은가요?? [4] 피스~2239 12/02/16 2239
127162 서울 강남고속버스터미널 근처지리좀 질문좀 드릴께요. [14] 가슴이아프다5595 12/02/16 5595
127161 lol ) 두사람 중 누가 옳을까요? [24] 다레니안2126 12/02/16 2126
127160 10~20만원대 헤드셋 추천 부탁드립니다. [5] 다음세기2102 12/02/16 2102
127158 종로, 인사동 쪽 회식하기 좋은곳. [3] BISANG1707 12/02/16 1707
127156 프로그래밍 질문입니다. [5] 스타나라1291 12/02/16 1291
127155 lol 랭겜 시스템이 궁금합니다. [5] 여유를갖자2127 12/02/16 2127
127154 mysql while문 질문입니다. [2] 율이2763 12/02/16 2763
127153 영양가 없는 스타1,2 규정 관련 질문 [8] 삭제됨1523 12/02/16 1523
127152 컴퓨터가 멎었습니다. [8] 진돗개1607 12/02/16 1607
127151 향방작계 질문입니다 [3] XabiAlonso1571 12/02/16 1571
127149 시력검사 질문 입니다. [2] 양파과자1635 12/02/16 1635
127148 MMS 단체문자 보내는 괜찮은 사이트 없나요? [2] 블루드래곤1779 12/02/16 1779
127146 사이클이 하체강화에 큰 도움이 될까요.. [9] 기다리다8188 12/02/16 8188
127145 이 부분이 무슨 색으로 보이시나요!? 라는 사진에 대한 질문입니다. [7] 세느2168 12/02/16 2168
127144 첨부파일 바로 보기 [1] 씨야11702 12/02/16 1702
127143 다음은 검색 옵션이 없나요? 1557 12/02/16 1557
127142 인터넷에서 반찬 구매하시는 분 있으신가요? [4] 봄내2146 12/02/16 2146
127141 오랜만에 한국가는데 꼭 가봐야/해봐야 될 것들.. [7] Dara1718 12/02/16 1718
127140 요즘 HDD의 시세에 대해 궁금합니다. [7] 2130 12/02/16 2130
127139 사귀기전의 남녀관계와 사귄후의 남녀관계의 변화에 대한 질문.. [5] 가슴이아프다3841 12/02/16 3841
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로