• TCP编程


    一.客户端

    import socket
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 建立连接:
    s.connect(('127.0.0.1', 5500))
    # 接收欢迎消息:
    print(s.recv(1024).decode('utf-8'))
    for data in [b'Michael', b'Tracy', b'Sarah']:
        # 发送数据:
        s.send(data)
        print(s.recv(1024).decode('utf-8'))
    s.send(b'exit')
    # 关闭连接
    s.close()
    

      

    二.服务端

    import socket
    import threading
    
    # 处理tcp 连接
    def tcp_link(sock, addr):
        print(addr)
        # 打印连接信息
        print('link create, from %s:%s' % addr)
        # 连接建立后发送欢迎信息
        sock.send(b'Welcome!')
        while True:
            data = sock.recv(1024)
            # 如果信息为空或信息为exit,则退出连接
            if not data or data.decode('utf-8') == 'exit':
                break
            sock.send(('hello, %s' % data.decode('utf-8')).encode('utf-8'))
        sock.close()
        print('link close, from %s:%s' % addr)
    
    
    # 以ipv4, 流媒体创建socket
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 监听端口:
    s.bind(('127.0.0.1', 5500))
    # 限制最大连接数为5个
    s.listen(5)
    
    while True:
        # 接受新连接
        sock, addr = s.accept()
        # 创建新线程来处理TCP连接,否者会堵塞其他用户的请求
        t = threading.Thread(target=tcp_link, args=(sock, addr))
        t.start()
    

      

  • 相关阅读:
    Cisco Packet Tracer 7.2
    "%Error opening tftp://255.255.255.255/network config"
    CPI 3.0磁盘空间不足!
    ASA Failover
    思科交换机配置单播MAC地址过滤
    WLC HA模式下的注意事项
    802.11r mixed mode
    IEEE 802.11r-2008
    iOS 上通过 802.11k、802.11r 和 802.11v 实现 Wi-Fi 网络漫游
    Flexconnect部署
  • 原文地址:https://www.cnblogs.com/itfenqing/p/10275178.html
Copyright © 2020-2023  润新知