• 基于TCP 协议的socket 简单通信


    DNS 服务器:域名解析

    socket 套接字 :

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

    为什么存在 socket 抽象层?
    如果直接与操作系统数据交互非常的麻烦,繁琐,socket 对这些繁琐的操作高度的封装,简化

    socket 在 Python 中就是一个模块

    基于 TCP 协议的 socket 的简单通信

    serve

    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()
    

    client

    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()
    
  • 相关阅读:
    windows消息定义
    17种正则表达式
    DirectX程序例子
    C#调用WINDOWS API 要点
    提取网页中的超级链接
    基于消息驱动的C#Windows程序
    C#使用事件
    C#启动进程的方法
    C#注册表操作方法
    HighLight.net 2.0 版本源码
  • 原文地址:https://www.cnblogs.com/hualibokeyuan/p/11355009.html
Copyright © 2020-2023  润新知