Microsoft MVP성태의 닷넷 이야기
글쓴 사람
윤대욱 (ydy3663 at naver.com)
홈페이지
첨부 파일

C++ 에서 서버와 클라이언트를 나누어서 구조체 전달에 대해서 궁금합니다.

일단 기본 베이스는 서버와 클라이언트 단일채팅으로 만들어져 있는데

서버를 열어논 상태에서 클라이언트가 채팅을 보낼수만있고 서버는 확인만 가능한코드를 구현했습니다.

그 상태에서 클라이언트가 서버에게 구조체를 전달하고 서버는 그 구조체를 받아서 if문을 이용해

재대로 받았을떄와 안닐떄를 구별해서 짜고싶습니다.

초심자라 좀 막막한데 힌트좀 주세요

안에 텍스트로 파일올렷습니다.









[최초 등록일: ]
[최종 수정일: 12/19/2014]


비밀번호

댓글 작성자
 



2014-12-22 04시25분
현재의 구조라면 name == 20byte, a와b == 8byte해서 총 28바이트로 고정되어 있습니다. 따라서, socket으로 전송할 때,

student a;
send(s, &a, 28, 0);

이렇게 해주고, 서버 측에서 받을 때는,

char buf[28];
int total = 28;
int pos = 0;
while (total > 0)
{
    int recvLen = recv(s, ((char *)buf) + pos, 28, 0);
    total -= recvLen;
    pos += recvLen;
}

struct *data = (struct *)buf;

이런 식으로 받으면 됩니다.
정성태

NoWriterDateCnt.TitleFile(s)