• 10.1 socket 编程


    基础通信

    clinet客户端

    #!/usr/bin/env/ python3
    # -*- coding:utf-8 -*-
    """
    @Project: books
    @File  :client.py
    @Author:zy7y
    @Date  :2021/8/2 10:27
    @Desc  : socket 和 Tcp、Udp 打交道
    socket  客户端
    """
    
    import socket
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 连接服务端,(IP地址,端口)
    client.connect(("127.0.0.1", 8000))
    # 发送给服务端
    client.send("arrds".encode(encoding="utf-8"))
    # 接收服务端返回数据
    data = client.recv(1024)
    
    print(data.decode("utf-8"))
    
    # 关闭
    client.close()
    

    server 服务端 - 单次通信

    #!/usr/bin/env/ python3
    # -*- coding:utf-8 -*-
    """
    @Project: books
    @File  :server.py
    @Author:zy7y
    @Date  :2021/8/2 10:27
    @Desc  :socket  服务端
    """
    import socket
    
    # 类型, 协议,
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 绑定地址,端口
    server.bind(("0.0.0.0", 8000))
    # 监听
    server.listen()
    
    # 建立客户端连接,结构得到一个socket 实例用来接收或发送数据
    sock, addr = server.accept()
    
    print(addr)
    # 发送数据给 客户端
    sock.send("server...".encode("utf-8"))
    
    # 获取数据
    data = sock.recv(1024)
    
    print(data.decode(encoding="utf-8"))
    

    单人通信

    client

    #!/usr/bin/env/ python3
    # -*- coding:utf-8 -*-
    """
    @Project: books
    @File  :client.py
    @Author:zy7y
    @Date  :2021/8/2 10:27
    @Desc  : socket 和 Tcp、Udp 打交道
    socket  客户端
    """
    
    import socket
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 连接服务端,(IP地址,端口)
    client.connect(("127.0.0.1", 8000))
    
    while True:
        re_data = input()
        # 发送给服务端
        client.send(re_data.encode(encoding="utf-8"))
        # 接收服务端返回数据
        data = client.recv(1024)
    
        print(f"服务端说: {data}")
    
    

    server

    #!/usr/bin/env/ python3
    # -*- coding:utf-8 -*-
    """
    @Project: books
    @File  :server.py
    @Author:zy7y
    @Date  :2021/8/2 10:27
    @Desc  :socket  服务端
    """
    import socket
    
    # 类型, 协议,
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 绑定地址,端口
    server.bind(("0.0.0.0", 8000))
    # 监听
    server.listen()
    # 建立客户端连接,结构得到一个socket 实例用来接收或发送数据
    sock, addr = server.accept()
    
    # 服服端一直接收
    while True:
    
        # 获取数据
        data = sock.recv(1024)
    
        print(f"客户端说: {data}")
    
        re_data = input()
        # 发送数据给 客户端
        sock.send(re_data.encode("utf-8"))
    
    作者:zy7y
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    线段树(updata+query)
    铁轨(栈)
    困难的串(搜索)
    素数环(简单搜索)
    编码
    opencv + numpy for python
    PIL参考手册
    八数码问题
    三维地图(BFS)
    梯田(dfs)
  • 原文地址:https://www.cnblogs.com/zy7y/p/15089173.html
Copyright © 2020-2023  润新知