diff --git a/dap_chain_net_srv_vpn.c b/dap_chain_net_srv_vpn.c
index 80c776a5b60f4ad302dbac7233bc903cd6ecd422..a0218c3af7d3598f2d08717248458d07dc3f6a7d 100755
--- a/dap_chain_net_srv_vpn.c
+++ b/dap_chain_net_srv_vpn.c
@@ -439,10 +439,10 @@ void srv_ch_sf_packet_in(dap_stream_ch_t* ch, void* arg)
                         n_addr.s_addr = ntohl(n_addr.s_addr);
                     }
 
-                    n_client->addr = n_addr.s_addr;
+                    n_client->addr_ipv4 = n_addr.s_addr;
                     s_raw_server->client_addr_last.s_addr = n_addr.s_addr;
                     ch->stream->session->tun_client_addr.s_addr = n_addr.s_addr;
-                    HASH_ADD_INT(s_raw_server->clients, addr, n_client);
+                    HASH_ADD_INT(s_raw_server->clients, addr_ipv4, n_client);
 
                     pthread_mutex_unlock(&s_raw_server->clients_mutex);
 
diff --git a/dap_chain_net_srv_vpn.h b/dap_chain_net_srv_vpn.h
index 115faaaec4390e2a22d93591ef4871189c2feac8..c479a7170f114b177fdb233a787d95de00ee8c0d 100755
--- a/dap_chain_net_srv_vpn.h
+++ b/dap_chain_net_srv_vpn.h
@@ -24,6 +24,9 @@
     along with any DAP based project.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
+#ifdef DAP_OS_UNIX
+#include <netinet/in.h>
+#endif
 
 #include "dap_config.h"
 #include "dap_chain_net_srv.h"
@@ -59,7 +62,11 @@
 #define VPN_PACKET_OP_CODE_PONG             0xc1
 
 typedef struct dap_stream_ch_vpn_remote_single { //
-    in_addr_t addr;
+#ifdef DAP_OS_UNIX
+    in_addr_t addr_ipv4;
+#else
+    uint32_t addr_ipv4;
+#endif
 //    pthread_mutex_t mutex;
     dap_stream_ch_t * ch;