네트워크 프로그램 작성시 메세지를 주로 어떤 식으로 보내시나
글쓴이: kkojiband / 작성시간: 일, 2003/12/21 - 11:49오후
일단 숫자같은 경우에는 주로 어떻게 보내시나요?
전 그냥 문자열로 변환시켜서 보내고, 받아서 다시 숫자로 변환해서 사용을 합니다. 네트워크 바이트 순서로 바꿔서 보낼수도 있겠지만 전 그냥 모든 데이타를 문자열로 처리하는게 편할꺼같아서 일단은 이렇게 쓰고 있습니다...
그리고 구조체 같이 여러 개의 연관된 연속된 데이타를 보낼때는 각각에 해당하는 헤더를 붙여서 보냅니다...
다른 분들은 어떤 식으로 사용하시는지 궁금합니다...
그냥 이것저것 조언 부탁드립니다~ ^^
Forums:
프로토콜이 정의되어있지 않은 상황, 본인 맘대로 할 수 있다면야 가장 편
프로토콜이 정의되어있지 않은 상황, 본인 맘대로 할 수 있다면야 가장 편하신대로 짜는게 맞는것 같습니다.
저역시 비슷한 문제로 고민한 적이 있었는데.. "도데체 어떻게 보내는것이 정석인가?" ^^; 대부분 분들이 그때그때 상황마다 편한대로 하시더군요..
서버 클라이언트 양쪽다 같은 바이트 오더, 같은 32bit 운영체제를 사용하는 경우라면 프로그램하기 가장 편한건 그냥 structure로 보내고 받는방법일 것입니다.
atoi 등을 이용하면 따로 지역변수를 잡아줘야하는데 그런 낭비도 없어지고.. 나름대로 괜찮습니다만.. 정수와 같이 보내는 바이트들의 길이변화가 심하던지 할 경우엔 문제가 있겠죠..
string 으로 보내서 구조체(자신이 만든 프로토콜 내용을 담은) 포인
string 으로 보내서 구조체(자신이 만든 프로토콜 내용을 담은) 포인터로 캐스팅 해서 찍어다 써두 되죠...
스니핑한 데이터 분석할때 자주 사용하는 방법이져...
send와 recv 둘다 보내거나 받는 데이터 타입이 보이드 포인터라는거 이용하는 거죠...
Do you think that's the air you are breathing now?
프로토콜이 미리 정의되어 있지 않고, c/s가 모두 자바여서 객체로 보내
프로토콜이 미리 정의되어 있지 않고, c/s가 모두 자바여서 객체로 보내는 방법을 쓴적이 있습니다. 무지 편했죠.
하지만 가끔 에러가 났다는...
그리고 v3 인터넷 감시와도 약간 충돌이 있었던것 같네요.
대부분 이미 프로토콜이 정해져 있었어서 그에 맞춰 했던 기억밖에 없네요.
-- Signature --
青い空大好き。
蒼井ソラもっと好き。
파란 하늘 너무 좋아.
아오이 소라 더좋아.
음... 지금 '주제 검토' 부분이 보이지 않는군요..[quote
음... 지금 '주제 검토' 부분이 보이지 않는군요..
이렇게 객체를 보내려면, 마샬링/언마샬링 이 필요하지 않나요?
자바에서는 시리얼라이즈, 디시리얼라이즈라고 표현했던것 같은데요.
우리 모두 리얼리스트가 되자. 그러나 가슴에 이룰 수 없는 꿈을 가지자
[quote="stoneshim"]이렇게 객체를 보내려면, 마샬링/언마샬
시리얼라이즈, 디시리얼라이즈는 개발자가 하는건 아니구요...
단지 Serializable 인터페이스를 구현해 줘야 하는데 이게 구현해야할 메소드가 하나도 없습니다.
그리고 시리얼라이즈 가능한 객체도 제한이 있습니다.
기본타입, 시리얼라이저블한 클래스만으로 구성이 되어야 합니다.
물론 이렇게 시리얼라이즈가 불가능한 것들이나 시리얼라이즈가 안되었으면 하는것들을 시리얼라이즈/디시리얼라이즈에서 제외시키는 방법도 있지만요...
-- Signature --
青い空大好き。
蒼井ソラもっと好き。
파란 하늘 너무 좋아.
아오이 소라 더좋아.
댓글 달기