zoukankan      html  css  js  c++  java
  • 这是网络编程的一小步,却是我的一大步

    1.整理TCP三次握手、四次挥手图

    首先是三次握手:

    ​ 1首先客户端发送了一个请求给服务端

    ​ 2服务端处于接收状态,且接受到了请求,因此返回了一个确认给客户端,同时也发送了一个请求给服务端

    ​ 3客户端收到了确认和请求,于是二者开始正式建交

    四次挥手:

    ​ 1.客户端发了一个掐断连接的请求给服务器

    ​ 2.服务器接受到了请求,并确认是否还有未执行的任务,无论执行多少倍都会传给客户端

    ​ 3.服务器进入关闭等待状态

    ​ 4.客户端也进入time_wait状态,可以使其再内存中消散

    2.基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意: 执行系统指令使用subprocess模块完成.

    服务端

    import subprocess
    import re
    import socket
    server=socket.socket()
    
    server.bind(
        ('127.0.0.1',9527)#用于寻找服务端
    )
    server.listen(0)#只有一个人能上我
    
    
    conn,addr=server.accept()
    print(addr)
    
    while True:
        try:
            data=conn.recv(1024).decode('utf8')
            print(data)
            # back_list=[]
            back=subprocess.check_output(data,shell=True)
            buck=back.strip()
            # back_list.append(back.split)
            # back=back.strip()
            print(buck)
    
    
        except Exception as e:
            print(e)
            break
    conn.close()
    

    客户端

    import subprocess
    import socket
    client=socket.socket()
    
    client.connect(
        ('127.0.0.1',9527)#用于寻找服务端
    )
    while True:
        send_msg=input('输入命令给服务器:')
        client.send(send_msg.encode('utf8'))
        if send_msg=='q':
            break
        data=client.recv(1024).decode('utf8')
        print(data)
    client.close()
    
  • 相关阅读:
    codeforces 632F. Magic Matrix
    codeforces 632D. Longest Subsequence 筛法
    移动端项目开发需要注意的问题
    input框、按钮组间的去除空格的解决方案
    radio 和checkbox与文字对齐问题
    怎样设置webstorm localhost为本地ip
    The number of steps(概率dp)
    C++ 面试常见问题
    禅者初心
    Hope
  • 原文地址:https://www.cnblogs.com/jimGraymane/p/11694421.html
Copyright © 2011-2022 走看看