• Python socker/subprocess模块练习(ssh案例)


    '''
    import socket

    # (1) 构建套接字对象,确定通信协议
    sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
    ip_port = ("127.0.0.1", 8790)
    sock.connect(ip_port)

    while 1:
    # 客户端给服务端发送消息
    data = input("请输入命令:")
    sock.send(data.encode())
    if data == "q":
    break

    # data = sock.recv(1024)
    # print("服务端响应消息:\n", data.decode())
    cmd_res_bytes_len = sock.recv(1024)
    cmd_res_len = int(cmd_res_bytes_len.decode())
    recv_num = 0
    while recv_num < cmd_res_len:
    data = sock.recv(1024)
    print(data.decode())
    recv_num += len(data)

    print("data的长度", recv_num,cmd_res_len)
    '''
    '''
    import socket
    import subprocess
    # (1) 构建套接字对象,确定通信协议
    sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
    # (2) 绑定IP和端口
    ip_port = ("127.0.0.1", 8790)
    sock.bind(ip_port)
    # (3) 监听最大排队数
    sock.listen(2)
    # (4) 阻塞等待客户端连接
    while 1:
    print("server is waiting...")
    conn, addr = sock.accept()
    # print("conn", conn)
    # print("addr", addr)
    while 1:
    # 接受来自客户端的消息
    data = conn.recv(1024) # recv是一个阻塞函数
    print("data",data,type(data))
    if data == b"" or data == b"q":
    break
    print("接受来自客户端的消息:", data.decode())
    # 给给客户端发送消息:注意 send发送的字节
    cmd = data.decode()
    # 将cmd在本服务器上面执行
    cmd_res_bytes = subprocess.getoutput(cmd).encode()
    print("响应字节数",len(cmd_res_bytes))
    cmd_res_bytes_len = str(len(cmd_res_bytes)).encode()
    conn.send(cmd_res_bytes_len)
    conn.send(cmd_res_bytes)
    '''
  • 相关阅读:
    ZJNU 1129 The sum problem——中级
    用 PHP 实现 POP3 邮件的收取(3)
    用 PHP 实现 POP3 邮件的收取(2)
    PHP4 调用自己编写的 COM 组件
    用 PHPLIB 进行 Session 的管理和认证
    用 PHP 实现 POP3 邮件的收取(1)
    用 PHP 实现 POP3 邮件的解码(1)
    PHP 应用程序的性能优化
    PHP功能齐全的发送邮件类
    怎样在 php 中使用 PDF 文档功能
  • 原文地址:https://www.cnblogs.com/A121/p/16255635.html
Copyright © 2020-2023  润新知