...
if(SOCKET_ERROR==WSAAsyncSelect(sock,hwnd,WM_SOCKET_NOTIFY,FD_CONNECT|FD_READ|FD_WRITE)){
MessageBox(hwnd,"WSAAsyncSelect!","error",MB_OK);
closesocket(sock);
WSACleanup();
return TRUE;
}
...
case WM_SOCKET_NOTIFY:
Event=WSAGETSELECTEVENT(lParam);
Error=WSAGETSELECTERROR(lParam);
switch(Event){
case FD_CONNECT:
if(Error){
MessageBox(hwnd,"connect!","error",MB_OK);
return TRUE;
}
return 0;
case FD_READ:
Log("recv...");
recv(sock,buff,sizeof(buff)/sizeof(buff[0]),0);
Log(buff);
rmsg++;
return 0;
case FD_WRITE:
Log("send...");
send(sock,DoWyslania[smsg],20,0);
Log(DoWyslania[smsg]);
smsg++;
return 0;
case FD_CLOSE:
Log("!@#@!...");
PostQuitMessage(0);
return 0;
}
return 0;
case WM_DESTROY:
Log("===========end===============");
KillTimer(hwnd,ID_TIMER);
PostQuitMessage(0);
WSACleanup();
fclose(log);
return 0;