zoukankan      html  css  js  c++  java
  • 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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    Android 富文本框实现 RichEditText
    mmap和普通文件读写的区别和比较 & mmap的注意点
    exit和_exit的区别
    绑定线程到特定CPU处理器
    软中断与硬中断 & 中断抢占 中断嵌套
    线程与信号处理
    内核信号处理 & CPU8个通用寄存器
    SIGSEGV 和 SIGBUS & gdb看汇编
    Linux内核态用户态相关知识 & 相互通信
    Linux进程空间分布 & 上下文
  • 原文地址:https://www.cnblogs.com/zy7y/p/15089173.html
Copyright © 2011-2022 走看看