|
네 수야님 감사합니다
그런데 받는부분에서 제가 뭘 잘못햇는지 잘 안되네요
보내고 받는 부분에 둘다 아래와 같은 구조체가 있습니다
struct MY_STRUCT{
int a;
char b[100];
};
typedef MY_STRUCT *PMY_STRUCT;
보내는 부분에서
SOCKET sock = (SOCKET)arg;
char buf[4096] = {0,};
PMY_STRUCT pMyStruct= (PMY_STRUCT)buf;
//값입력
pMyStruct->a = 100;
memcpy(pMyStruct->b,"어쩌구~", sizeof("어쩌구~") );
//보내기
int cch = sizeof(MY_STRUCT);
send(sock, (const char *)&pMyStruct, cch, 0);
이렇게 했고요
받는 부분은 이렇거든요
PMY_STRUCT pMyStruct= (PMY_STRUCT)buf;
while (1)
{
SOCKET sockTemp = accept( g_sockListen, NULL, NULL );
// 소켓 에러 체크
if( INVALID_SOCKET == sockTemp )
{
printf("연결된 소켓 에러");
return 0;
}
printf("Socket number %d connected\n",sockTemp);
int strLen;
char nameMessage[NAMESIZE + BUFSIZE];
// (char *)nameMessage을 다르게 써야하는지요
strLen = recv( sockTemp, (char *)nameMessage, NAMESIZE + BUFSIZE - 1, 0 );
if (strLen == -1 )
return 1;
// 받을때 구조체를 받아서 여기 있는 구조체에 복사해서
// 써야 하는건지 잘모르겠네요
nameMessage[strLen] = 0;
printf("%s\n", nameMessage);
}
결과 값이
| ?
위 처럼 나오네요 뭔가 빼먹은듯 한데...
얼마전부터 패킷 보내는걸 해보려는데 잘 안되네요
제발 갈켜주세요 ㅠ,.ㅠ
|