set KEEPALIVE except windows
This commit is contained in:
parent
25e9c131d4
commit
8da3bdc511
1 changed files with 5 additions and 3 deletions
|
@ -26,6 +26,7 @@ import logging
|
|||
import binascii
|
||||
import traceback
|
||||
import random
|
||||
import platform
|
||||
|
||||
from shadowsocks import encrypt, obfs, eventloop, shell, common
|
||||
from shadowsocks.common import pre_parse_header, parse_header
|
||||
|
@ -564,9 +565,10 @@ class TCPRelayHandler(object):
|
|||
else:
|
||||
remote_sock.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1)
|
||||
remote_sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
||||
remote_sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, 120)
|
||||
remote_sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, 20)
|
||||
remote_sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, 5)
|
||||
if platform.system() != 'Windows':
|
||||
remote_sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, 120)
|
||||
remote_sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, 20)
|
||||
remote_sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, 5)
|
||||
|
||||
if not self._is_local:
|
||||
bind_addr = ''
|
||||
|
|
Loading…
Add table
Reference in a new issue