diff --git a/dap_chain_node_cli.c b/dap_chain_node_cli.c
index a26e3aca168be8f726a66d7cca8243f2a25c1cf1..80cb89dea17f5f6ea4ed95409728b82b3d72ac95 100755
--- a/dap_chain_node_cli.c
+++ b/dap_chain_node_cli.c
@@ -937,10 +937,14 @@ int dap_chain_node_cli_init(dap_config_t * g_config)
         log_it( L_INFO, "Console interace on addr %s port %u ", l_listen_addr_str, l_listen_port );
 
         server_addr.sin_family = AF_INET;
+#ifdef _WIN32
+        struct in_addr _in_addr = { { .S_addr = htonl(INADDR_LOOPBACK) } };
+        server_addr.sin_addr = _in_addr;
+        server_addr.sin_port = l_listen_port;
+#else
         inet_pton( AF_INET, l_listen_addr_str, &server_addr.sin_addr );
-        //server.sin_addr.s_addr = htonl( INADDR_ANY );
         server_addr.sin_port = htons( (uint16_t)l_listen_port );
-
+#endif
         // create socket
         if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET ) {
 #ifdef __WIN32
@@ -952,6 +956,9 @@ int dap_chain_node_cli_init(dap_config_t * g_config)
 
         // connecting the address with a socket
         if ( bind(sockfd, (struct sockaddr *) &server_addr, sizeof(server_addr)) == SOCKET_ERROR ) {
+#ifdef __WIN32
+            _set_errno(WSAGetLastError());
+#endif
             log_it( L_ERROR, "Console Server: can't bind socket, err %d", errno );
             closesocket( sockfd );
             return -4;