• day29——socket套接字(少量不全)


    day29

    socket套接字

    • socket是处于应用层与传输层之间的抽象层,他是一组操作起来非常简单的接口(接受数据)此接口接受数据之后,交由操作系统.

      为什么存在socket抽象层?

      如果直接与操作系统数据交互非常麻烦,繁琐,socket对这些繁琐的操作高度的封装,简化.

    • socket在python中就是一个模块.

    基于TCP协议的socket简单通信

    服务端
    import socket
    
    # 买电话
    phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  # 默认基于TCP协议的socket
    
    # 绑定电话卡
    phone.bind(('192.168.14.198',8848))  # 绑定IP地址和端口
    
    # 开机监听
    phone.listen(5)
    print(111)
    
    # 等待连接
    conn, addr = phone.accept() # 阻塞
    print(conn,addr)
    
    from_client_data = conn.recv(1024)  # 至多接受1024个字节  阻塞
    print(f'来自客户端{addr[0]}的消息:{from_client_data.decode("utf-8")}')
    
    to_client_data = input('>>>')
    conn.send(to_client_data.encode('utf-8'))
    conn.close()
    phone.close()
    
    客户端
    import socket
    
    # 买电话
    phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  # 默认基于TCP协议的socket
    
    # 拨号打电话
    phone.connect(('127.0.0.1',8848))
    data = input('请输入>>>')
    
    phone.send(data.encode('utf-8'))
    from_server_data = phone.recv(1024)
    print(f'来自服务端的消息:{from_server_data}')
    
    
    # 关闭电话
    phone.close()
    

    基于TCP协议的socket通信循环

  • 相关阅读:
    JZPKIL:莫比乌斯反演,伯努利数,Miller_Rabin,Pollard_Rho
    [考试反思]数学专题测试1:遗失
    「专题总结」杜教筛
    「专题总结」莫比乌斯反演2
    「专题总结」莫比乌斯反演1
    「专题总结」线性基
    「专题总结」群论
    「专题总结」后缀自动机SAM
    「专题总结」回文自动机PAM
    「专题总结」后缀数组1~2
  • 原文地址:https://www.cnblogs.com/NiceSnake/p/11385833.html
Copyright © 2020-2023  润新知