소스 검색

Merge pull request #73 from hk517j/master

fix bug #56
xiangxistu 4 년 전
부모
커밋
c2a37030f3
1개의 변경된 파일7개의 추가작업 그리고 0개의 파일을 삭제
  1. 7 0
      telnet/telnet.c

+ 7 - 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,12 @@ 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");
+        return;
+	}
+
     addr.sin_family = AF_INET;
     addr.sin_port = htons(TELNET_PORT);
     addr.sin_addr.s_addr = INADDR_ANY;