zoukankan      html  css  js  c++  java
  • 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通信循环

  • 相关阅读:
    busybox 注意事项
    Implicit vs Explicit Sharing
    Font Creator Program 字库修改合并软件
    Iperf 源代码分析(四)
    QML 中文支持
    file operation
    MFC异常 与C++标准异常
    统一建模语言(UML) 版本 2.0
    MultiByteToWideChar和WideCharToMultiByte用法详解
    UML 基础: 类图
  • 原文地址:https://www.cnblogs.com/NiceSnake/p/11385833.html
Copyright © 2011-2022 走看看