HDC hdc;
Packet tempPack;
int retval;
switch(WSAGETSELECTEVENT(lParam))
{
case FD_READ:
hdc = GetDC(hWnd);
retval = recv((SOCKET)wParam, (char*)&tempPack, sizeof(tempPack), 0);
AddDrawInfo(&tempPack);
MoveToEx(hdc, tempPack.startX, tempPack.startY, NULL);
LineTo(hdc, tempPack.endX, tempPack.endY);
ReleaseDC(hWnd, hdc);
break;
case FD_CLOSE:
Destructor();
closesocket((SOCKET)wParam);
break;
}
네트워크로 그림판 놀이 하는거 만들고있쪙 (서로 그리는게 상대방쪽에 보임)
마우스 왼쪽버튼을 누른 상태에서 마우스를 이동하면 선이 그려짐
기본 흐름은
클라쪽에서 그림을 그리면
패킷에 마우스의 시작x,y(클릭지점) 끝x,y를 셋팅해서 서버로 쏴주고
서버에서는 클라로부터 받은 값을 자신이 보관하고 그 값을 그대로 접속중인 클라들한테 돌려보냄
클라들은 값을 받아서 자신의 그림판에 그림을 그리는거징
WSAAsyncSelect 모델로 서버는 만들었는데
클라 만들다보니까 그림이 안그려져
패킷 오고가는거 파악해봐도 문제없는데
선그리는 코드 저거 문제 있는거얌??
READ할거 있을 때 읽어서 바로 선 그릴려했음
그리기는 무조건 WM_PAINT에서 처리하도록 바꿔야하나?
내가 화면에 표시하는걸 잘못한거 같은데 방법을 못찾겠엉
댓글 0