fsdf 4 лет назад
Родитель
Сommit
abb4639c7d
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      telnet/telnet.c

+ 6 - 0
telnet/telnet.c

@@ -331,6 +331,7 @@ static void telnet_thread(void* parameter)
     socklen_t addr_size;
     rt_uint8_t recv_buf[RECV_BUF_LEN];
     rt_int32_t recv_len = 0;
+    rt_int32_t keepalive = 1;
 
     if ((telnet->server_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
     {
@@ -338,6 +339,11 @@ static void telnet_thread(void* parameter)
         return;
     }
 
+    if(setsockopt(telnet->server_fd, SOL_SOCKET, SO_KEEPALIVE, (void *)&keepalive, sizeof(keepalive)) < 0)
+	{
+		rt_kprintf("telnet:set socket keepalive failed\n");
+	}
+
     addr.sin_family = AF_INET;
     addr.sin_port = htons(TELNET_PORT);
     addr.sin_addr.s_addr = INADDR_ANY;