I would either use the windows messages or create a thread. I find creating threads causes more lag than I want so I usually go with windows messages.
EDIT: I suggest removing those extra functions that are un-needed.
void Mysocket::WinConnect()
{
WSADATA w;
if (WSAStartup(0x0101, &w) != 0)
{
cout<< "ERROR: Could Not Open Windows connection."<<endl;
exit(0);
}
} This is just a waste of space. WinConnect is called inside the constructor, and you will never have to use WinConnect() in your code so why even create a function for it? Same goes for your close() function. They just help clutter up your code.