zoukankan      html  css  js  c++  java
  • socket shutdown选项

    Shut down one or both halves of the connection. If how is SHUT_RD, further receives are disallowed. If how is SHUT_WR, further sends are disallowed. If how is SHUT_RDWR, further sends and receives are disallowed. Depending on the platform, shutting down one half of the connection can also close the opposite half (e.g. on Mac OS X, shutdown(SHUT_WR) does not allow further reads on the other end of the connection).
    
    Note that there are no methods read() or write(); use recv() and send() without flags argument instead.
    
    关闭一个或者一半的连接 如果socket.shutdown(how)
    如果how值是SHUT_RD,则不允许进步接收 
    
    
    如果how是SHUT_WR ,则不允许发送 
    
    如果how 是SHUT_RDWR,接下来发和手都不允许
    
    此时能从服务端读取数据
    
    import socket
    import time
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(("192.168.137.2",8888))
    #print s.getsockopt()
    print s.getsockname()
    print s.getpeername()
    #s.sendall("this is shutdown test" + "
    ")
    s.send('8888777')
    
    print dir(socket.herror)
    #print dir(socket.herror)
    # s.shutdown(socket.SHUT_RDWR)
    #s.shutdown(socket.SHUT_RDWR)
    print(socket.SHUT_RDWR)
    print(socket.SHUT_RD)
    print(socket.SHUT_WR)
    #print s.recv(90)
    s.shutdown(0)
    time.sleep(10)
    print s.recv(90)
    s.send('8888777')
    
    # while (1==1):
    #     print s.recv(90)
    
    
    
    
    此时能从服务端读取数据,
    
    
    import socket
    import time
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(("192.168.137.2",8888))
    #print s.getsockopt()
    print s.getsockname()
    print s.getpeername()
    #s.sendall("this is shutdown test" + "
    ")
    s.send('8888777')
    
    print dir(socket.herror)
    #print dir(socket.herror)
    # s.shutdown(socket.SHUT_RDWR)
    #s.shutdown(socket.SHUT_RDWR)
    print(socket.SHUT_RDWR)
    print(socket.SHUT_RD)
    print(socket.SHUT_WR)
    #print s.recv(90)
    s.shutdown(1)
    time.sleep(10)
    print s.recv(90)
    time.sleep(10)
    s.send('8888777')
    
    # while (1==1):
    #     print s.recv(90)
    
    
    
  • 相关阅读:
    在linux下使用sqlcmd
    sqlserver 索引的结构及其存储,索引内容
    据库被标记为RESTORING的处理方式,正在还原中,正在恢复
    sql语句的优化分析
    SQL Server表分区-水平分区
    JavaScript Structure
    JS----Issue
    JavaScript Book Plan
    LINQ
    About JavaScript
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348564.html
Copyright © 2011-2022 走看看