#include <WinSock2.h> #include <Windows.h> #include <StrSafe.h> comment(lib, "Ws2_32") WM_SOCKET WM_USER+1 SOCKET client = WSAAsyncSelect(client, hWnd, WM_SOCKET, FD_READ | FD_WRITE | CHAR szText[] = { (SOCKET_ERROR == recv(wParam, szText, , CHAR szMsg[] = MessageBoxA(hWnd, szMsg, PostQuitMessage( WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, PSTR pcszCommand, TCHAR szAppName[] = TEXT( wndClsEx.cbClsExtra = wndClsEx.cbSize = wndClsEx.cbWndExtra = wndClsEx.hbrBackground = wndClsEx.hCursor = wndClsEx.hIcon = wndClsEx.hIconSm = wndClsEx.hInstance = wndClsEx.lpfnWndProc = wndClsEx.lpszClassName = wndClsEx.lpszMenuName = wndClsEx.style = CS_HREDRAW | (!RegisterClassEx(& MessageBox(NULL, TEXT(), TEXT(), MB_OK | HWND hWnd = (NULL == MessageBox(NULL, TEXT(), TEXT(), MB_OK | WSAStartup(WINSOCK_VERSION, & SOCKET sListen = (INVALID_SOCKET == MessageBox(hWnd, TEXT(), TEXT(), MB_OK | USHORT uPort = ZeroMemory(&sin, sin.sin_family = sin.sin_port = sin.sin_addr.S_un.S_addr = (SOCKET_ERROR == bind(sListen, (PSOCKADDR)&sin, MessageBox(hWnd, TEXT(), TEXT(), MB_OK | WSAAsyncSelect(sListen, hWnd, WM_SOCKET, FD_ACCEPT | listen(sListen, (GetMessage(&msg, NULL, , TranslateMessage(& DispatchMessage(& }