send(), recv() 함수에서 구조체 전달....
글쓴이: redrocki / 작성시간: 목, 2003/11/13 - 9:03오후
안녕하세요
유닉스 소켓으로 통신하는 프로그램을 하나 만들고 있습니다.
그런데 구조체형 데이터를 상대에게 넘길수가 없나요?
struct _student {
int id;
char name[20];
}Student;
Student *a;
a = (Student *)malloc(sizeof(Student));
.
.
클라이언트쪽
send (servfd, &a, sizeof(a), 0);
서버쪽
recv (clientfd, &kk, sizeof(kk),0);
보내는 클라이언트는 값을 받아서 서버로 주는데..서버에서 엉뚱한 값을 받고 있네요.... 가르쳐주세요....구조체 전달요~~
Forums:


send (servfd, &a, sizeof(a), 0);
send (servfd, &a, sizeof(a), 0);
a 가 포인터 이므로 & 를 빼시고, sizeof 도 sizeof(*a) 로 바꾸셔야합니다.
---
http://coolengineer.com
댓글 달기