From 45ba6ed5fcfd84db532d8212f71854880ee36ca0 Mon Sep 17 00:00:00 2001 From: Ketan Kulkarni Date: Fri, 24 Mar 2017 15:32:39 -0700 Subject: TCP Keep alive for RabbitMQ Client - Enable TCP Keep Alive for rabbitmq client - Helps in cases when the connection is conntracked or there is NAT in between --- librabbitmq/amqp_socket.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'librabbitmq/amqp_socket.c') diff --git a/librabbitmq/amqp_socket.c b/librabbitmq/amqp_socket.c index a63a0b6..f4e536a 100644 --- a/librabbitmq/amqp_socket.c +++ b/librabbitmq/amqp_socket.c @@ -480,6 +480,12 @@ int amqp_open_socket_inner(char const *hostname, continue; } + if (0 != amqp_os_socket_setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &one, + sizeof(one))) { + last_error = AMQP_STATUS_SOCKET_ERROR; + continue; + } + #ifdef _WIN32 res = connect(sockfd, addr->ai_addr, (int)addr->ai_addrlen); #else -- cgit v1.2.1