diff --git a/include/dap_server.h b/include/dap_server.h
index 2a22a502ffc69e51331d0f3254a6e461f22dabf4..a226961b8098f9a72e2bf6d436a25e85b2cd972b 100755
--- a/include/dap_server.h
+++ b/include/dap_server.h
@@ -27,6 +27,8 @@
 #define EPOLL_HANDLE  int
 #else
 #define EPOLL_HANDLE  HANDLE
+#define MSG_DONTWAIT 0
+#define MSG_NOSIGNAL 0
 #include "wepoll.h"
 #endif
 
diff --git a/src/dap_client_remote.c b/src/dap_client_remote.c
index bedf02657d1bb535acee9e94419c93ae5f6d8c63..25adc198700c1c9ef85b263e2c12966e1963f122 100755
--- a/src/dap_client_remote.c
+++ b/src/dap_client_remote.c
@@ -36,7 +36,6 @@
 #include <mswsock.h>
 #include <ws2tcpip.h>
 #include <io.h>
-//#include "wrappers.h"
 #include <pthread.h>
 #endif
 
diff --git a/src/dap_events.c b/src/dap_events.c
index 3f6e9eb37928c43ad101f07286b268c51b32414e..495b556115ba8ca837a0b07cf7065ad4de88b2e0 100755
--- a/src/dap_events.c
+++ b/src/dap_events.c
@@ -59,7 +59,6 @@
 #include <mswsock.h>
 #include <ws2tcpip.h>
 #include <io.h>
-#include "wrappers.h"
 #include <pthread.h>
 #endif
 
diff --git a/src/dap_server.c b/src/dap_server.c
index b423f7de752f46711649298a958dd1bbacb851c1..9931f26478ded88be2f0c5b0df6f4a08377fab36 100755
--- a/src/dap_server.c
+++ b/src/dap_server.c
@@ -50,7 +50,6 @@
 #include <windows.h>
 #include <mswsock.h>
 #include <ws2tcpip.h>
-#include "wrappers.h"
 #include <io.h>
 #include <pthread.h>
 #endif
@@ -642,12 +641,13 @@ void  *thread_loop( void *arg )
       }
 
       dap_cur->last_time_active = cur_time;
-
       if( events[i].events & EPOLLERR ) {
           log_it( L_ERROR,"Socket error: %u, remove it" , dap_cur->socket );
           dap_cur->flags |= DAP_SOCK_SIGNAL_CLOSE;
       }
-
+#ifdef _WIN32
+      set_nonblock_socket(dap_cur->socket); // pconst: for winsock2 has no appropriate MSG attributes
+#endif
       if ( !(dap_cur->flags & DAP_SOCK_SIGNAL_CLOSE) || dap_cur->no_close )
         read_write_cb( dap_cur, events[i].events );