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)
    
    
    
  • 相关阅读:
    string数组批量转换成Int数组
    TCP/IP 、 HTTP 、HTTPS
    静态布局、自适应布局、流式布局、响应式布局、弹性布局等的概念和区别
    Vue源码学习02 初始化模块init.js
    IOS8白屏
    VUE 源码学习01 源码入口
    http状态码
    vue全家桶(Vue+Vue-router+Vuex+axios)(Vue+webpack项目实战系列之二)
    Vue实战Vue-cli项目构建(Vue+webpack系列之一)
    module.exports,exports,export和export default,import与require区别与联系【原创】
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348564.html
Copyright © 2011-2022 走看看