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()
    
  • 相关阅读:
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    449. Serialize and Deserialize BST
    114. Flatten Binary Tree to Linked List
    199. Binary Tree Right Side View
    173. Binary Search Tree Iterator
    98. Validate Binary Search Tree
    965. Univalued Binary Tree
    589. N-ary Tree Preorder Traversal
    eclipse设置总结
  • 原文地址:https://www.cnblogs.com/jimGraymane/p/11694421.html
Copyright © 2011-2022 走看看