반응형


1주일동안 배운 내용을 토대로 미니 메신져를 구현하였다.

파이프를 생성하여 두 프로그램간의 데이터를 패킷전송하였다.

간단한 예제였지만, API를 배우고 있는 입장에서는 조금 난해하기도 하였다.


기존에 만들고 있던 P2P 프로그램을 수정하여 만들어서 빨리 만들수 있었다.

주의사항으로는 데이터를 팩킹하여 보내주고 그것을 받는 부분이였다.


void *TransReq::MakeAPacket(int *pbdlen)
{
 MsgHead *mh = MakeHead(TRANS_REQ);
 int bdlen =0;
 void *pack =0;

 int SendMsglen = strlen(SendMsg)+1;


 pack = ehenpack(pack,bdlen,&SendMsglen,sizeof(SendMsglen));
 bdlen += sizeof(SendMsglen);
 
 pack = ehenpack(pack,bdlen,SendMsg,SendMsglen);
 bdlen += SendMsglen;

 mh->bodylen = bdlen;
 bdlen = sizeof(MsgHead) + bdlen;

 void *tpack = pack;//
 pack = ehenpack(mh,sizeof(MsgHead),pack,bdlen);
 
 free(tpack);//

 *pbdlen = bdlen;
 return pack;
}

실습했던 파일까지 첨부~!!


처음 알았던 부분.
패킷헤드를 만들어서 그곳에 패킷에 대한 정보를 주는 부분!!
잊지말것.

반응형

+ Recent posts