udp 소켓으로 구조체를 전달받을때에..
글쓴이: facered79 / 작성시간: 금, 2005/08/05 - 6:16오후
if((byte = recvfrom(msg_sock, buf_rbmb, sizeof(buf_rbmb), 0, (struct sockaddr *)&cli_addr, (socklen_t *)&c_len)) < 0) { cout << " recvfrom() - recv_msg #3 " << endl; exit(1); }
위 소스는 udp 소켓 서버가 클라이언트에서 올라오는 메시지를
전달 받는 부분입니다.
buf_rbmb 가 구조체로 선언된 변수입니다
클라이언트에서 buf_rbmb와 같은 타입의 구조체에 값을 넣어
보내주는데요..
이상황에서 컴파일을 하면
cannot convert `buf_rbmb' from type `Type_ipc_msg'
to type `void*'
위와 같은 메시지가 나옵니다..
구조체 전달 받는 방법을 알고 싶습니다..
Forums:
recvfrom() 의 두번째 인자는 void * 형입니다. 즉 Addr
recvfrom() 의 두번째 인자는 void * 형입니다. 즉 Address 가 전달되어야 합니다.
두번째 인자와 세번째 인자를 봤을때, buf_rbmb 라는 변수는 구조체인듯 싶은데,
그런 경우에 두번째 인자를 &buf_rbmb 같은 형식으로 줘야겠죠.
댓글 달기