2012. 1. 11. 17:35 개발
[C/C++] 임의의 Object를 패킷으로 송.수신하는 방법
임의의 객체타입을 만들어 보자.
이것은 class가 될 수도 있고 struct등의 구조체 일 수도 있다.
편의상 struct로 예제코드를 한번 만들어 보겠다.
< 보내는 쪽 >
struct A
{
이것은 class가 될 수도 있고 struct등의 구조체 일 수도 있다.
편의상 struct로 예제코드를 한번 만들어 보겠다.
< 보내는 쪽 >
struct A
{
int rank[20]; // int형은 4byte이므로 전체 80byte
char name[20]; //char형은 1byte이므로 전체 20byte
char name[20]; //char형은 1byte이므로 전체 20byte
}; // 즉 이 구조체가 가지는 메모리 용량은 총 100byte
A a; // 타입 선언
// 전송할 값을 채워 넣는다~~~~ 소켓을 연다
// Send Data
// ================= 방법 1
write( (char *) &a, sizeof(A) ); // 포트에 적는다. (char *) 캐스팅에 주목하자
// ================= 방법 2
char sendData[100];
memcpy(sendData,&a,sizeof(A) ); // 메모리 내용 복사.
write( sendData, sizeof(A) );
< 받는 쪽>
// 물론 같은 형식의 객체가 선언 되어있을 것이다.
A receivedData; // 객체 선언
read( &receivedData, sizeof(A) ); // 간단히 수신.!!!
A a; // 타입 선언
// 전송할 값을 채워 넣는다~~~~ 소켓을 연다
// Send Data
// ================= 방법 1
write( (char *) &a, sizeof(A) ); // 포트에 적는다. (char *) 캐스팅에 주목하자
// ================= 방법 2
char sendData[100];
memcpy(sendData,&a,sizeof(A) ); // 메모리 내용 복사.
write( sendData, sizeof(A) );
< 받는 쪽>
// 물론 같은 형식의 객체가 선언 되어있을 것이다.
A receivedData; // 객체 선언
read( &receivedData, sizeof(A) ); // 간단히 수신.!!!
'개발' 카테고리의 다른 글
[C/C++] float 데이터를 char배열에 저장하는 방법 !!!! 메모리를 공유하는 union type (0) | 2012.01.11 |
---|---|
[시스템 프로그래밍] Simple Message Queue example (0) | 2011.12.11 |
[Graphics] 3D Object Manipulation (Camera / Transformation) (0) | 2011.12.07 |
[Graphics] 2D object Manipulation using OpenGL (0) | 2011.12.07 |
[shell programming] Multiple piping in C (0) | 2011.12.06 |