(num, s1, s2)
交换两个流的数据
    num为当前流编号,主要用于调试目的，区分两个回路状态用。
交换两个流的数据
    num为当前流编号,主要用于调试目的，区分两个回路状态用。
交换两个流的数据 num为当前流编号 主要用于调试目的，区分两个回路状态用。
def _xstream(num, s1, s2):
    """
    交换两个流的数据
    num为当前流编号,主要用于调试目的，区分两个回路状态用。
    """
    try:
        while True:
            # 注意，recv 函数会阻塞，直到对端完全关闭（close 后还需要一定时间才能关闭，最快关闭方法是 shutdow）
            buff = s1.recv(1024)
            if debug > 0:
                print('%d recv' % num)
            if len(buff) == 0:  # 对端关闭连接，读不到数据
                print('%d one closed' % num)
                break
            s2.sendall(buff)
            if debug > 0:
                print('%d sendall' % num)
    except:
        print('%d one connect closed.' % num)

    try:
        s1.shutdown(socket.SHUT_RDWR)
        s1.close()
    except:
        pass

    try:
        s2.shutdown(socket.SHUT_RDWR)
        s2.close()
    except:
        pass

    streams[0] = None
    streams[1] = None
    print('%d CLOSED' % num)
def _xstream ( num , s1 , s2 ) : try : while True : # 注意，recv 函数会阻塞，直到对端完全关闭（close 后还需要一定时间才能关闭，最快关闭方法是 shutdow） buff = s1 . recv ( 1024 ) if debug > 0 : print ( '%d recv' % num ) if len ( buff ) == 0 : # 对端关闭连接，读不到数据 print ( '%d one closed' % num ) break s2 . sendall ( buff ) if debug > 0 : print ( '%d sendall' % num ) except : print ( '%d one connect closed.' % num ) try : s1 . shutdown ( socket . SHUT_RDWR ) s1 . close ( ) except : pass try : s2 . shutdown ( socket . SHUT_RDWR ) s2 . close ( ) except : pass streams [ 0 ] = None streams [ 1 ] = None print ( '%d CLOSED' % num )